Sync Protos with grpc-proto repo (#27957)

* Sync with grpc_proto

* UPB gen
pull/28033/head^2
Esun Kim 3 years ago committed by GitHub
parent ddb9d5d700
commit 7910c5f8ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c
  2. 70
      src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h
  3. 46
      src/core/ext/upbdefs-generated/src/proto/grpc/lb/v1/load_balancer.upbdefs.c
  4. 10
      src/core/ext/upbdefs-generated/src/proto/grpc/lb/v1/load_balancer.upbdefs.h
  5. 2
      src/core/tsi/alts/handshaker/proto/handshaker.options
  6. 93
      src/proto/grpc/binary_log/v1alpha/log.proto
  7. 1
      src/proto/grpc/health/v1/health.options
  8. 51
      src/proto/grpc/http_over_grpc/http_over_grpc.proto
  9. 5
      src/proto/grpc/lb/v1/load_balancer.options
  10. 14
      src/proto/grpc/lb/v1/load_balancer.proto
  11. 225
      src/proto/grpc/lookup/v1/rls_config.proto
  12. 21
      src/proto/grpc/reflection/v1/BUILD
  13. 147
      src/proto/grpc/reflection/v1/reflection.proto
  14. 2
      tools/run_tests/sanity/check_package_name.py

@ -89,19 +89,24 @@ const upb_msglayout grpc_lb_v1_LoadBalanceResponse_msginit = {
UPB_SIZE(8, 16), 3, _UPB_MSGEXT_NONE, 3, 255,
};
const upb_msglayout grpc_lb_v1_FallbackResponse_msginit = {
NULL,
NULL,
UPB_SIZE(0, 0), 0, _UPB_MSGEXT_NONE, 0, 255,
};
static const upb_msglayout_sub grpc_lb_v1_InitialLoadBalanceResponse_submsgs[1] = {
{.submsg = &google_protobuf_Duration_msginit},
};
static const upb_msglayout_field grpc_lb_v1_InitialLoadBalanceResponse__fields[2] = {
{1, UPB_SIZE(4, 8), 0, 0, 9, _UPB_MODE_SCALAR | (_UPB_REP_STRVIEW << _UPB_REP_SHIFT)},
{2, UPB_SIZE(12, 24), 1, 0, 11, _UPB_MODE_SCALAR | (_UPB_REP_PTR << _UPB_REP_SHIFT)},
static const upb_msglayout_field grpc_lb_v1_InitialLoadBalanceResponse__fields[1] = {
{2, UPB_SIZE(4, 8), 1, 0, 11, _UPB_MODE_SCALAR | (_UPB_REP_PTR << _UPB_REP_SHIFT)},
};
const upb_msglayout grpc_lb_v1_InitialLoadBalanceResponse_msginit = {
&grpc_lb_v1_InitialLoadBalanceResponse_submsgs[0],
&grpc_lb_v1_InitialLoadBalanceResponse__fields[0],
UPB_SIZE(16, 32), 2, _UPB_MSGEXT_NONE, 2, 255,
UPB_SIZE(8, 16), 1, _UPB_MSGEXT_NONE, 0, 255,
};
static const upb_msglayout_sub grpc_lb_v1_ServerList_submsgs[1] = {
@ -131,22 +136,16 @@ const upb_msglayout grpc_lb_v1_Server_msginit = {
UPB_SIZE(24, 48), 4, _UPB_MSGEXT_NONE, 4, 255,
};
const upb_msglayout grpc_lb_v1_FallbackResponse_msginit = {
NULL,
NULL,
UPB_SIZE(0, 0), 0, _UPB_MSGEXT_NONE, 0, 255,
};
static const upb_msglayout *messages_layout[9] = {
&grpc_lb_v1_LoadBalanceRequest_msginit,
&grpc_lb_v1_InitialLoadBalanceRequest_msginit,
&grpc_lb_v1_ClientStatsPerToken_msginit,
&grpc_lb_v1_ClientStats_msginit,
&grpc_lb_v1_LoadBalanceResponse_msginit,
&grpc_lb_v1_FallbackResponse_msginit,
&grpc_lb_v1_InitialLoadBalanceResponse_msginit,
&grpc_lb_v1_ServerList_msginit,
&grpc_lb_v1_Server_msginit,
&grpc_lb_v1_FallbackResponse_msginit,
};
const upb_msglayout_file src_proto_grpc_lb_v1_load_balancer_proto_upb_file_layout = {

@ -25,28 +25,28 @@ struct grpc_lb_v1_InitialLoadBalanceRequest;
struct grpc_lb_v1_ClientStatsPerToken;
struct grpc_lb_v1_ClientStats;
struct grpc_lb_v1_LoadBalanceResponse;
struct grpc_lb_v1_FallbackResponse;
struct grpc_lb_v1_InitialLoadBalanceResponse;
struct grpc_lb_v1_ServerList;
struct grpc_lb_v1_Server;
struct grpc_lb_v1_FallbackResponse;
typedef struct grpc_lb_v1_LoadBalanceRequest grpc_lb_v1_LoadBalanceRequest;
typedef struct grpc_lb_v1_InitialLoadBalanceRequest grpc_lb_v1_InitialLoadBalanceRequest;
typedef struct grpc_lb_v1_ClientStatsPerToken grpc_lb_v1_ClientStatsPerToken;
typedef struct grpc_lb_v1_ClientStats grpc_lb_v1_ClientStats;
typedef struct grpc_lb_v1_LoadBalanceResponse grpc_lb_v1_LoadBalanceResponse;
typedef struct grpc_lb_v1_FallbackResponse grpc_lb_v1_FallbackResponse;
typedef struct grpc_lb_v1_InitialLoadBalanceResponse grpc_lb_v1_InitialLoadBalanceResponse;
typedef struct grpc_lb_v1_ServerList grpc_lb_v1_ServerList;
typedef struct grpc_lb_v1_Server grpc_lb_v1_Server;
typedef struct grpc_lb_v1_FallbackResponse grpc_lb_v1_FallbackResponse;
extern const upb_msglayout grpc_lb_v1_LoadBalanceRequest_msginit;
extern const upb_msglayout grpc_lb_v1_InitialLoadBalanceRequest_msginit;
extern const upb_msglayout grpc_lb_v1_ClientStatsPerToken_msginit;
extern const upb_msglayout grpc_lb_v1_ClientStats_msginit;
extern const upb_msglayout grpc_lb_v1_LoadBalanceResponse_msginit;
extern const upb_msglayout grpc_lb_v1_FallbackResponse_msginit;
extern const upb_msglayout grpc_lb_v1_InitialLoadBalanceResponse_msginit;
extern const upb_msglayout grpc_lb_v1_ServerList_msginit;
extern const upb_msglayout grpc_lb_v1_Server_msginit;
extern const upb_msglayout grpc_lb_v1_FallbackResponse_msginit;
struct google_protobuf_Duration;
struct google_protobuf_Timestamp;
extern const upb_msglayout google_protobuf_Duration_msginit;
@ -336,6 +336,34 @@ UPB_INLINE struct grpc_lb_v1_FallbackResponse* grpc_lb_v1_LoadBalanceResponse_mu
return sub;
}
/* grpc.lb.v1.FallbackResponse */
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_new(upb_arena *arena) {
return (grpc_lb_v1_FallbackResponse *)_upb_msg_new(&grpc_lb_v1_FallbackResponse_msginit, arena);
}
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_parse(const char *buf, size_t size,
upb_arena *arena) {
grpc_lb_v1_FallbackResponse *ret = grpc_lb_v1_FallbackResponse_new(arena);
if (!ret) return NULL;
if (!upb_decode(buf, size, ret, &grpc_lb_v1_FallbackResponse_msginit, arena)) return NULL;
return ret;
}
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_parse_ex(const char *buf, size_t size,
const upb_extreg *extreg, int options,
upb_arena *arena) {
grpc_lb_v1_FallbackResponse *ret = grpc_lb_v1_FallbackResponse_new(arena);
if (!ret) return NULL;
if (!_upb_decode(buf, size, ret, &grpc_lb_v1_FallbackResponse_msginit, extreg, options, arena)) {
return NULL;
}
return ret;
}
UPB_INLINE char *grpc_lb_v1_FallbackResponse_serialize(const grpc_lb_v1_FallbackResponse *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &grpc_lb_v1_FallbackResponse_msginit, arena, len);
}
/* grpc.lb.v1.InitialLoadBalanceResponse */
UPB_INLINE grpc_lb_v1_InitialLoadBalanceResponse *grpc_lb_v1_InitialLoadBalanceResponse_new(upb_arena *arena) {
@ -362,16 +390,12 @@ UPB_INLINE char *grpc_lb_v1_InitialLoadBalanceResponse_serialize(const grpc_lb_v
return upb_encode(msg, &grpc_lb_v1_InitialLoadBalanceResponse_msginit, arena, len);
}
UPB_INLINE upb_strview grpc_lb_v1_InitialLoadBalanceResponse_load_balancer_delegate(const grpc_lb_v1_InitialLoadBalanceResponse *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
UPB_INLINE bool grpc_lb_v1_InitialLoadBalanceResponse_has_client_stats_report_interval(const grpc_lb_v1_InitialLoadBalanceResponse *msg) { return _upb_hasbit(msg, 1); }
UPB_INLINE const struct google_protobuf_Duration* grpc_lb_v1_InitialLoadBalanceResponse_client_stats_report_interval(const grpc_lb_v1_InitialLoadBalanceResponse *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*); }
UPB_INLINE const struct google_protobuf_Duration* grpc_lb_v1_InitialLoadBalanceResponse_client_stats_report_interval(const grpc_lb_v1_InitialLoadBalanceResponse *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
UPB_INLINE void grpc_lb_v1_InitialLoadBalanceResponse_set_load_balancer_delegate(grpc_lb_v1_InitialLoadBalanceResponse *msg, upb_strview value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
}
UPB_INLINE void grpc_lb_v1_InitialLoadBalanceResponse_set_client_stats_report_interval(grpc_lb_v1_InitialLoadBalanceResponse *msg, struct google_protobuf_Duration* value) {
_upb_sethas(msg, 1);
*UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value;
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
}
UPB_INLINE struct google_protobuf_Duration* grpc_lb_v1_InitialLoadBalanceResponse_mutable_client_stats_report_interval(grpc_lb_v1_InitialLoadBalanceResponse *msg, upb_arena *arena) {
struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)grpc_lb_v1_InitialLoadBalanceResponse_client_stats_report_interval(msg);
@ -470,34 +494,6 @@ UPB_INLINE void grpc_lb_v1_Server_set_drop(grpc_lb_v1_Server *msg, bool value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool) = value;
}
/* grpc.lb.v1.FallbackResponse */
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_new(upb_arena *arena) {
return (grpc_lb_v1_FallbackResponse *)_upb_msg_new(&grpc_lb_v1_FallbackResponse_msginit, arena);
}
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_parse(const char *buf, size_t size,
upb_arena *arena) {
grpc_lb_v1_FallbackResponse *ret = grpc_lb_v1_FallbackResponse_new(arena);
if (!ret) return NULL;
if (!upb_decode(buf, size, ret, &grpc_lb_v1_FallbackResponse_msginit, arena)) return NULL;
return ret;
}
UPB_INLINE grpc_lb_v1_FallbackResponse *grpc_lb_v1_FallbackResponse_parse_ex(const char *buf, size_t size,
const upb_extreg *extreg, int options,
upb_arena *arena) {
grpc_lb_v1_FallbackResponse *ret = grpc_lb_v1_FallbackResponse_new(arena);
if (!ret) return NULL;
if (!_upb_decode(buf, size, ret, &grpc_lb_v1_FallbackResponse_msginit, extreg, options, arena)) {
return NULL;
}
return ret;
}
UPB_INLINE char *grpc_lb_v1_FallbackResponse_serialize(const grpc_lb_v1_FallbackResponse *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &grpc_lb_v1_FallbackResponse_msginit, arena, len);
}
extern const upb_msglayout_file src_proto_grpc_lb_v1_load_balancer_proto_upb_file_layout;
#ifdef __cplusplus

@ -12,7 +12,7 @@
extern upb_def_init google_protobuf_duration_proto_upbdefinit;
extern upb_def_init google_protobuf_timestamp_proto_upbdefinit;
static const char descriptor[1767] = {'\n', '(', 's', 'r', 'c', '/', 'p', 'r', 'o', 't', 'o', '/', 'g', 'r', 'p', 'c', '/', 'l', 'b', '/', 'v', '1', '/', 'l', 'o',
static const char descriptor[1717] = {'\n', '(', 's', 'r', 'c', '/', 'p', 'r', 'o', 't', 'o', '/', 'g', 'r', 'p', 'c', '/', 'l', 'b', '/', 'v', '1', '/', 'l', 'o',
'a', 'd', '_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', 'r', '.', 'p', 'r', 'o', 't', 'o', '\022', '\n', 'g', 'r', 'p', 'c', '.', 'l',
'b', '.', 'v', '1', '\032', '\036', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'd', 'u', 'r',
'a', 't', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\032', '\037', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o',
@ -58,28 +58,26 @@ static const char descriptor[1767] = {'\n', '(', 's', 'r', 'c', '/', 'p', 'r', '
'c', 'k', '_', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\034', '.', 'g', 'r', 'p', 'c', '.',
'l', 'b', '.', 'v', '1', '.', 'F', 'a', 'l', 'l', 'b', 'a', 'c', 'k', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', 'H', '\000', 'R',
'\020', 'f', 'a', 'l', 'l', 'b', 'a', 'c', 'k', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', 'B', '\034', '\n', '\032', 'l', 'o', 'a', 'd',
'_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', '_', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '_', 't', 'y', 'p', 'e', '\"', '\256', '\001',
'\n', '\032', 'I', 'n', 'i', 't', 'i', 'a', 'l', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'R', 'e', 's', 'p', 'o',
'n', 's', 'e', '\022', '4', '\n', '\026', 'l', 'o', 'a', 'd', '_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', 'r', '_', 'd', 'e', 'l', 'e',
'g', 'a', 't', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\024', 'l', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'r', 'D',
'e', 'l', 'e', 'g', 'a', 't', 'e', '\022', 'Z', '\n', '\034', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', 't', 's', '_', 'r',
'e', 'p', 'o', 'r', 't', '_', 'i', 'n', 't', 'e', 'r', 'v', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o',
'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\031', 'c',
'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 's', 'R', 'e', 'p', 'o', 'r', 't', 'I', 'n', 't', 'e', 'r', 'v', 'a', 'l', '\"',
'@', '\n', '\n', 'S', 'e', 'r', 'v', 'e', 'r', 'L', 'i', 's', 't', '\022', ',', '\n', '\007', 's', 'e', 'r', 'v', 'e', 'r', 's', '\030',
'\001', ' ', '\003', '(', '\013', '2', '\022', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'S', 'e', 'r', 'v', 'e', 'r',
'R', '\007', 's', 'e', 'r', 'v', 'e', 'r', 's', 'J', '\004', '\010', '\003', '\020', '\004', '\"', '\203', '\001', '\n', '\006', 'S', 'e', 'r', 'v', 'e',
'r', '\022', '\035', '\n', '\n', 'i', 'p', '_', 'a', 'd', 'd', 'r', 'e', 's', 's', '\030', '\001', ' ', '\001', '(', '\014', 'R', '\t', 'i', 'p',
'A', 'd', 'd', 'r', 'e', 's', 's', '\022', '\022', '\n', '\004', 'p', 'o', 'r', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\004', 'p', 'o',
'r', 't', '\022', ',', '\n', '\022', 'l', 'o', 'a', 'd', '_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', '_', 't', 'o', 'k', 'e', 'n', '\030',
'\003', ' ', '\001', '(', '\t', 'R', '\020', 'l', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'T', 'o', 'k', 'e', 'n', '\022', '\022',
'\n', '\004', 'd', 'r', 'o', 'p', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\004', 'd', 'r', 'o', 'p', 'J', '\004', '\010', '\005', '\020', '\006', '\"',
'\022', '\n', '\020', 'F', 'a', 'l', 'l', 'b', 'a', 'c', 'k', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '2', 'b', '\n', '\014', 'L', 'o',
'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'r', '\022', 'R', '\n', '\013', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'L', 'o', 'a', 'd',
'\022', '\036', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e',
'R', 'e', 'q', 'u', 'e', 's', 't', '\032', '\037', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'L', 'o', 'a', 'd',
'B', 'a', 'l', 'a', 'n', 'c', 'e', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '(', '\001', '0', '\001', 'B', 'X', '\n', '\016', 'i', 'o',
'.', 'g', 'r', 'p', 'c', '.', 'g', 'r', 'p', 'c', 'l', 'b', 'B', '\021', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e',
'_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', '_', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '_', 't', 'y', 'p', 'e', '\"', '\022', '\n',
'\020', 'F', 'a', 'l', 'l', 'b', 'a', 'c', 'k', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '\"', '~', '\n', '\032', 'I', 'n', 'i', 't',
'i', 'a', 'l', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '\022', 'Z', '\n',
'\034', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', 't', 's', '_', 'r', 'e', 'p', 'o', 'r', 't', '_', 'i', 'n', 't', 'e',
'r', 'v', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o',
'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\031', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 's',
'R', 'e', 'p', 'o', 'r', 't', 'I', 'n', 't', 'e', 'r', 'v', 'a', 'l', 'J', '\004', '\010', '\001', '\020', '\002', '\"', '@', '\n', '\n', 'S',
'e', 'r', 'v', 'e', 'r', 'L', 'i', 's', 't', '\022', ',', '\n', '\007', 's', 'e', 'r', 'v', 'e', 'r', 's', '\030', '\001', ' ', '\003', '(',
'\013', '2', '\022', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'S', 'e', 'r', 'v', 'e', 'r', 'R', '\007', 's', 'e',
'r', 'v', 'e', 'r', 's', 'J', '\004', '\010', '\003', '\020', '\004', '\"', '\203', '\001', '\n', '\006', 'S', 'e', 'r', 'v', 'e', 'r', '\022', '\035', '\n',
'\n', 'i', 'p', '_', 'a', 'd', 'd', 'r', 'e', 's', 's', '\030', '\001', ' ', '\001', '(', '\014', 'R', '\t', 'i', 'p', 'A', 'd', 'd', 'r',
'e', 's', 's', '\022', '\022', '\n', '\004', 'p', 'o', 'r', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\004', 'p', 'o', 'r', 't', '\022', ',',
'\n', '\022', 'l', 'o', 'a', 'd', '_', 'b', 'a', 'l', 'a', 'n', 'c', 'e', '_', 't', 'o', 'k', 'e', 'n', '\030', '\003', ' ', '\001', '(',
'\t', 'R', '\020', 'l', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'T', 'o', 'k', 'e', 'n', '\022', '\022', '\n', '\004', 'd', 'r',
'o', 'p', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\004', 'd', 'r', 'o', 'p', 'J', '\004', '\010', '\005', '\020', '\006', '2', 'b', '\n', '\014', 'L',
'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'r', '\022', 'R', '\n', '\013', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'L', 'o', 'a',
'd', '\022', '\036', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c',
'e', 'R', 'e', 'q', 'u', 'e', 's', 't', '\032', '\037', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', '.', 'L', 'o', 'a',
'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '(', '\001', '0', '\001', 'B', 'W', '\n', '\r', 'i',
'o', '.', 'g', 'r', 'p', 'c', '.', 'l', 'b', '.', 'v', '1', 'B', '\021', 'L', 'o', 'a', 'd', 'B', 'a', 'l', 'a', 'n', 'c', 'e',
'r', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '1', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g', 'o', 'l', 'a', 'n', 'g', '.', 'o',
'r', 'g', '/', 'g', 'r', 'p', 'c', '/', 'b', 'a', 'l', 'a', 'n', 'c', 'e', 'r', '/', 'g', 'r', 'p', 'c', 'l', 'b', '/', 'g',
'r', 'p', 'c', '_', 'l', 'b', '_', 'v', '1', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
@ -95,5 +93,5 @@ upb_def_init src_proto_grpc_lb_v1_load_balancer_proto_upbdefinit = {
deps,
&src_proto_grpc_lb_v1_load_balancer_proto_upb_file_layout,
"src/proto/grpc/lb/v1/load_balancer.proto",
UPB_STRVIEW_INIT(descriptor, 1767)
UPB_STRVIEW_INIT(descriptor, 1717)
};

@ -46,6 +46,11 @@ UPB_INLINE const upb_msgdef *grpc_lb_v1_LoadBalanceResponse_getmsgdef(upb_symtab
return upb_symtab_lookupmsg(s, "grpc.lb.v1.LoadBalanceResponse");
}
UPB_INLINE const upb_msgdef *grpc_lb_v1_FallbackResponse_getmsgdef(upb_symtab *s) {
_upb_symtab_loaddefinit(s, &src_proto_grpc_lb_v1_load_balancer_proto_upbdefinit);
return upb_symtab_lookupmsg(s, "grpc.lb.v1.FallbackResponse");
}
UPB_INLINE const upb_msgdef *grpc_lb_v1_InitialLoadBalanceResponse_getmsgdef(upb_symtab *s) {
_upb_symtab_loaddefinit(s, &src_proto_grpc_lb_v1_load_balancer_proto_upbdefinit);
return upb_symtab_lookupmsg(s, "grpc.lb.v1.InitialLoadBalanceResponse");
@ -61,11 +66,6 @@ UPB_INLINE const upb_msgdef *grpc_lb_v1_Server_getmsgdef(upb_symtab *s) {
return upb_symtab_lookupmsg(s, "grpc.lb.v1.Server");
}
UPB_INLINE const upb_msgdef *grpc_lb_v1_FallbackResponse_getmsgdef(upb_symtab *s) {
_upb_symtab_loaddefinit(s, &src_proto_grpc_lb_v1_load_balancer_proto_upbdefinit);
return upb_symtab_lookupmsg(s, "grpc.lb.v1.FallbackResponse");
}
#ifdef __cplusplus
} /* extern "C" */
#endif

@ -1,2 +0,0 @@
handshaker.proto no_unions:true
grpc.gcp.StartServerHandshakeReq.handshake_parameters max_count:3

@ -1,93 +0,0 @@
// Copyright 2016 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
import "google/protobuf/timestamp.proto";
package grpc.binary_log.v1alpha;
enum Direction {
SERVER_SEND = 0;
SERVER_RECV = 1;
CLIENT_SEND = 2;
CLIENT_RECV = 3;
}
message KeyValuePair {
string key = 1;
string value = 2;
}
// Any sort of metadata that may be sent in either direction during a call
message Metadata {
// Cryptographically unique identifier, generated on the client and sent
// to the server.
uint64 rpc_id = 1;
// Timestamp of logging the metadata
google.protobuf.Timestamp timestamp = 2;
Direction direction = 3;
// The actual metadata that is being sent
repeated KeyValuePair metadata = 4;
// Initial metadata sent by the client to initiate a request
message ClientInitialMetadata {
// The full method name that is being called
string method_name = 1;
// The call's deadline
google.protobuf.Timestamp deadline = 2;
// The address of the connected peer
string peer = 3;
}
// Arbitrary key/value pairs specified by the user that are not sent over
// the network but are nonetheless useful to log
message UserData {
}
// Initial metadata response sent by the server after accepting the request
message ServerInitialMetadata {
}
// Status sent by the server when closing the call on the server side
message ServerStatus {
// The status code
uint32 code = 1;
// The status details
string details = 2;
}
oneof kind {
ClientInitialMetadata client_initial_metadata = 5;
UserData user_data = 6;
ServerInitialMetadata server_initial_metadata = 7;
ServerStatus server_status = 8;
}
}
// A message that is sent during a call
message Message {
// Cryptographically unique identifier, generated on the client and sent
// to the server.
uint64 rpc_id = 1;
// The sequence number of the message. Messages sent by the client and by the
// server should have independently incrementing sequence numbers.
uint32 sequence_number = 2;
Direction direction = 3;
// The length of the complete message.
uint32 length = 4;
// The contents of the message. May be a prefix instead of the complete
// message.
bytes data = 5;
}

@ -1 +0,0 @@
grpc.health.v1.HealthCheckRequest.service max_size:200

@ -1,51 +0,0 @@
// Copyright 2019 The gRPC Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package grpc.http_over_grpc;
// Represents HTTP 1.1 header.
message Header {
string key = 1;
repeated string values = 2;
}
// An HTTP 1.1 request encapsulated in a gRPC.
message HTTPOverGRPCRequest {
// The HTTP request method.
string method = 1;
// The HTTP request URL.
string url = 2;
// The HTTP request headers.
repeated Header headers = 3;
// HTTP request body.
bytes body = 4;
}
// An HTTP 1.1 reply encapsulated in an RPC.
message HTTPOverGRPCReply {
// The HTTP status code (e.g. 200, 400, 404).
int32 status = 1;
// The HTTP response headers.
repeated Header headers = 2;
// The HTTP response body.
bytes body = 3;
}
// Currently does not support HTTP chunked transfer encoding.
service HTTPOverGRPC {
// Perform the given HTTP request.
rpc HTTPRequest(HTTPOverGRPCRequest) returns (HTTPOverGRPCReply) {}
}

@ -1,5 +0,0 @@
grpc.lb.v1.InitialLoadBalanceRequest.name max_size:128
grpc.lb.v1.InitialLoadBalanceResponse.load_balancer_delegate max_size:64
grpc.lb.v1.Server.ip_address max_size:16
grpc.lb.v1.Server.load_balance_token max_size:50
load_balancer.proto no_unions:true

@ -26,7 +26,7 @@ import "google/protobuf/timestamp.proto";
option go_package = "google.golang.org/grpc/balancer/grpclb/grpc_lb_v1";
option java_multiple_files = true;
option java_outer_classname = "LoadBalancerProto";
option java_package = "io.grpc.grpclb";
option java_package = "io.grpc.lb.v1";
service LoadBalancer {
// Bidirectional rpc to get a list of servers.
@ -97,18 +97,14 @@ message LoadBalanceResponse {
// If this field is set, then the client should eagerly enter fallback
// mode (even if there are existing, healthy connections to backends).
// See go/grpclb-explicit-fallback for more details.
FallbackResponse fallback_response = 3;
}
}
message FallbackResponse {}
message InitialLoadBalanceResponse {
// This is an application layer redirect that indicates the client should use
// the specified server for load balancing. When this field is non-empty in
// the response, the client should open a separate connection to the
// load_balancer_delegate and call the BalanceLoad method. Its length should
// be less than 64 bytes.
string load_balancer_delegate = 1;
reserved 1; // never-used load_balancer_delegate
// This interval defines how often the client should send the client stats
// to the load balancer. Stats should only be reported when the duration is
@ -153,5 +149,3 @@ message Server {
reserved 5;
}
message FallbackResponse {}

@ -0,0 +1,225 @@
// Copyright 2020 The gRPC Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package grpc.lookup.v1;
import "google/protobuf/duration.proto";
option go_package = "google.golang.org/grpc/lookup/grpc_lookup_v1";
option java_multiple_files = true;
option java_package = "io.grpc.lookup.v1";
option java_outer_classname = "RlsConfigProto";
// Extract a key based on a given name (e.g. header name or query parameter
// name). The name must match one of the names listed in the "name" field. If
// the "required_match" field is true, one of the specified names must be
// present for the keybuilder to match.
message NameMatcher {
// The name that will be used in the RLS key_map to refer to this value.
// If required_match is true, you may omit this field or set it to an empty
// string, in which case the matcher will require a match, but won't update
// the key_map.
string key = 1;
// Ordered list of names (headers or query parameter names) that can supply
// this value; the first one with a non-empty value is used.
repeated string names = 2;
// If true, make this extraction required; the key builder will not match
// if no value is found.
bool required_match = 3;
}
// A GrpcKeyBuilder applies to a given gRPC service, name, and headers.
message GrpcKeyBuilder {
// To match, one of the given Name fields must match; the service and method
// fields are specified as fixed strings. The service name is required and
// includes the proto package name. The method name may be omitted, in
// which case any method on the given service is matched.
message Name {
string service = 1;
string method = 2;
}
repeated Name names = 1;
// If you wish to include the host, service, or method names as keys in the
// generated RouteLookupRequest, specify key names to use in the extra_keys
// submessage. If a key name is empty, no key will be set for that value.
// If this submessage is specified, the normal host/path fields will be left
// unset in the RouteLookupRequest. We are deprecating host/path in the
// RouteLookupRequest, so services should migrate to the ExtraKeys approach.
message ExtraKeys {
string host = 1;
string service = 2;
string method = 3;
}
ExtraKeys extra_keys = 3;
// Extract keys from all listed headers.
// For gRPC, it is an error to specify "required_match" on the NameMatcher
// protos.
repeated NameMatcher headers = 2;
// You can optionally set one or more specific key/value pairs to be added to
// the key_map. This can be useful to identify which builder built the key,
// for example if you are suppressing the actual method, but need to
// separately cache and request all the matched methods.
map<string, string> constant_keys = 4;
}
// An HttpKeyBuilder applies to a given HTTP URL and headers.
//
// Path and host patterns use the matching syntax from gRPC transcoding to
// extract named key/value pairs from the path and host components of the URL:
// https://github.com/googleapis/googleapis/blob/master/google/api/http.proto
//
// It is invalid to specify the same key name in multiple places in a pattern.
//
// For a service where the project id can be expressed either as a subdomain or
// in the path, separate HttpKeyBuilders must be used:
// host_pattern: 'example.com' path_pattern: '/{id}/{object}/**'
// host_pattern: '{id}.example.com' path_pattern: '/{object}/**'
// If the host is exactly 'example.com', the first path segment will be used as
// the id and the second segment as the object. If the host has a subdomain, the
// subdomain will be used as the id and the first segment as the object. If
// neither pattern matches, no keys will be extracted.
message HttpKeyBuilder {
// host_pattern is an ordered list of host template patterns for the desired
// value. If any host_pattern values are specified, then at least one must
// match, and the last one wins and sets any specified variables. A host
// consists of labels separated by dots. Each label is matched against the
// label in the pattern as follows:
// - "*": Matches any single label.
// - "**": Matches zero or more labels (first or last part of host only).
// - "{<name>=...}": One or more label capture, where "..." can be any
// template that does not include a capture.
// - "{<name>}": A single label capture. Identical to {<name>=*}.
//
// Examples:
// - "example.com": Only applies to the exact host example.com.
// - "*.example.com": Matches subdomains of example.com.
// - "**.example.com": matches example.com, and all levels of subdomains.
// - "{project}.example.com": Extracts the third level subdomain.
// - "{project=**}.example.com": Extracts the third level+ subdomains.
// - "{project=**}": Extracts the entire host.
repeated string host_patterns = 1;
// path_pattern is an ordered list of path template patterns for the desired
// value. If any path_pattern values are specified, then at least one must
// match, and the last one wins and sets any specified variables. A path
// consists of segments separated by slashes. Each segment is matched against
// the segment in the pattern as follows:
// - "*": Matches any single segment.
// - "**": Matches zero or more segments (first or last part of path only).
// - "{<name>=...}": One or more segment capture, where "..." can be any
// template that does not include a capture.
// - "{<name>}": A single segment capture. Identical to {<name>=*}.
// A custom method may also be specified by appending ":" and the custom
// method name or "*" to indicate any custom method (including no custom
// method). For example, "/*/projects/{project_id}/**:*" extracts
// `{project_id}` for any version, resource and custom method that includes
// it. By default, any custom method will be matched.
//
// Examples:
// - "/v1/{name=messages/*}": extracts a name like "messages/12345".
// - "/v1/messages/{message_id}": extracts a message_id like "12345".
// - "/v1/users/{user_id}/messages/{message_id}": extracts two key values.
repeated string path_patterns = 2;
// List of query parameter names to try to match.
// For example: ["parent", "name", "resource.name"]
// We extract all the specified query_parameters (case-sensitively). If any
// are marked as "required_match" and are not present, this keybuilder fails
// to match. If a given parameter appears multiple times (?foo=a&foo=b) we
// will report it as a comma-separated string (foo=a,b).
repeated NameMatcher query_parameters = 3;
// List of headers to try to match.
// We extract all the specified header values (case-insensitively). If any
// are marked as "required_match" and are not present, this keybuilder fails
// to match. If a given header appears multiple times in the request we will
// report it as a comma-separated string, in standard HTTP fashion.
repeated NameMatcher headers = 4;
// You can optionally set one or more specific key/value pairs to be added to
// the key_map. This can be useful to identify which builder built the key,
// for example if you are suppressing a lot of information from the URL, but
// need to separately cache and request URLs with that content.
map<string, string> constant_keys = 5;
}
message RouteLookupConfig {
// Ordered specifications for constructing keys for HTTP requests. Last
// match wins. If no HttpKeyBuilder matches, an empty key_map will be sent to
// the lookup service; it should likely reply with a global default route
// and raise an alert.
repeated HttpKeyBuilder http_keybuilders = 1;
// Unordered specifications for constructing keys for gRPC requests. All
// GrpcKeyBuilders on this list must have unique "name" fields so that the
// client is free to prebuild a hash map keyed by name. If no GrpcKeyBuilder
// matches, an empty key_map will be sent to the lookup service; it should
// likely reply with a global default route and raise an alert.
repeated GrpcKeyBuilder grpc_keybuilders = 2;
// The name of the lookup service as a gRPC URI. Typically, this will be
// a subdomain of the target, such as "lookup.datastore.googleapis.com".
string lookup_service = 3;
// Configure a timeout value for lookup service requests.
// Defaults to 10 seconds if not specified.
google.protobuf.Duration lookup_service_timeout = 4;
// How long are responses valid for (like HTTP Cache-Control).
// If omitted or zero, the longest valid cache time is used.
// This value is clamped to 5 minutes to avoid unflushable bad responses.
google.protobuf.Duration max_age = 5;
// After a response has been in the client cache for this amount of time
// and is re-requested, start an asynchronous RPC to re-validate it.
// This value should be less than max_age by at least the length of a
// typical RTT to the Route Lookup Service to fully mask the RTT latency.
// If omitted, keys are only re-requested after they have expired.
google.protobuf.Duration stale_age = 6;
// Rough indicator of amount of memory to use for the client cache. Some of
// the data structure overhead is not accounted for, so actual memory consumed
// will be somewhat greater than this value. If this field is omitted or set
// to zero, a client default will be used. The value may be capped to a lower
// amount based on client configuration.
int64 cache_size_bytes = 7;
// This is a list of all the possible targets that can be returned by the
// lookup service. If a target not on this list is returned, it will be
// treated the same as an unhealthy target.
repeated string valid_targets = 8;
// This value provides a default target to use if needed. If set, it will be
// used if RLS returns an error, times out, or returns an invalid response.
// Note that requests can be routed only to a subdomain of the original
// target, e.g. "us_east_1.cloudbigtable.googleapis.com".
string default_target = 9;
reserved 10;
reserved "request_processing_strategy";
}
// RouteLookupClusterSpecifier is used in xDS to represent a cluster specifier
// plugin for RLS.
message RouteLookupClusterSpecifier {
// The RLS config for this cluster specifier plugin instance.
RouteLookupConfig route_lookup_config = 1;
}

@ -1,4 +1,4 @@
# Copyright 2019 gRPC authors.
# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -12,20 +12,29 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
licenses(["notice"])
grpc_package(
name = "http_over_grpc",
name = "reflection_v1",
visibility = "public",
)
grpc_proto_library(
name = "http_over_grpc_proto",
name = "reflection_proto",
srcs = ["reflection.proto"],
)
proto_library(
name = "reflection_proto_descriptor",
srcs = ["reflection.proto"],
)
filegroup(
name = "reflection_proto_file",
srcs = [
"http_over_grpc.proto",
"reflection.proto",
],
has_services = True,
well_known_protos = True,
)

@ -0,0 +1,147 @@
// Copyright 2016 The gRPC Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Service exported by server reflection. A more complete description of how
// server reflection works can be found at
// https://github.com/grpc/grpc/blob/master/doc/server-reflection.md
//
// The canonical version of this proto can be found at
// https://github.com/grpc/grpc-proto/blob/master/grpc/reflection/v1/reflection.proto
syntax = "proto3";
package grpc.reflection.v1;
option go_package = "google.golang.org/grpc/reflection/grpc_reflection_v1";
option java_multiple_files = true;
option java_package = "io.grpc.reflection.v1";
option java_outer_classname = "ServerReflectionProto";
service ServerReflection {
// The reflection service is structured as a bidirectional stream, ensuring
// all related requests go to a single server.
rpc ServerReflectionInfo(stream ServerReflectionRequest)
returns (stream ServerReflectionResponse);
}
// The message sent by the client when calling ServerReflectionInfo method.
message ServerReflectionRequest {
string host = 1;
// To use reflection service, the client should set one of the following
// fields in message_request. The server distinguishes requests by their
// defined field and then handles them using corresponding methods.
oneof message_request {
// Find a proto file by the file name.
string file_by_filename = 3;
// Find the proto file that declares the given fully-qualified symbol name.
// This field should be a fully-qualified symbol name
// (e.g. <package>.<service>[.<method>] or <package>.<type>).
string file_containing_symbol = 4;
// Find the proto file which defines an extension extending the given
// message type with the given field number.
ExtensionRequest file_containing_extension = 5;
// Finds the tag numbers used by all known extensions of the given message
// type, and appends them to ExtensionNumberResponse in an undefined order.
// Its corresponding method is best-effort: it's not guaranteed that the
// reflection service will implement this method, and it's not guaranteed
// that this method will provide all extensions. Returns
// StatusCode::UNIMPLEMENTED if it's not implemented.
// This field should be a fully-qualified type name. The format is
// <package>.<type>
string all_extension_numbers_of_type = 6;
// List the full names of registered services. The content will not be
// checked.
string list_services = 7;
}
}
// The type name and extension number sent by the client when requesting
// file_containing_extension.
message ExtensionRequest {
// Fully-qualified type name. The format should be <package>.<type>
string containing_type = 1;
int32 extension_number = 2;
}
// The message sent by the server to answer ServerReflectionInfo method.
message ServerReflectionResponse {
string valid_host = 1;
ServerReflectionRequest original_request = 2;
// The server sets one of the following fields according to the message_request
// in the request.
oneof message_response {
// This message is used to answer file_by_filename, file_containing_symbol,
// file_containing_extension requests with transitive dependencies.
// As the repeated label is not allowed in oneof fields, we use a
// FileDescriptorResponse message to encapsulate the repeated fields.
// The reflection service is allowed to avoid sending FileDescriptorProtos
// that were previously sent in response to earlier requests in the stream.
FileDescriptorResponse file_descriptor_response = 4;
// This message is used to answer all_extension_numbers_of_type requests.
ExtensionNumberResponse all_extension_numbers_response = 5;
// This message is used to answer list_services requests.
ListServiceResponse list_services_response = 6;
// This message is used when an error occurs.
ErrorResponse error_response = 7;
}
}
// Serialized FileDescriptorProto messages sent by the server answering
// a file_by_filename, file_containing_symbol, or file_containing_extension
// request.
message FileDescriptorResponse {
// Serialized FileDescriptorProto messages. We avoid taking a dependency on
// descriptor.proto, which uses proto2 only features, by making them opaque
// bytes instead.
repeated bytes file_descriptor_proto = 1;
}
// A list of extension numbers sent by the server answering
// all_extension_numbers_of_type request.
message ExtensionNumberResponse {
// Full name of the base type, including the package name. The format
// is <package>.<type>
string base_type_name = 1;
repeated int32 extension_number = 2;
}
// A list of ServiceResponse sent by the server answering list_services request.
message ListServiceResponse {
// The information of each service may be expanded in the future, so we use
// ServiceResponse message to encapsulate it.
repeated ServiceResponse service = 1;
}
// The information of a single service used by ListServiceResponse to answer
// list_services request.
message ServiceResponse {
// Full name of a registered service, including its package name. The format
// is <package>.<service>
string name = 1;
}
// The error code and error message sent by the server when an error occurs.
message ErrorResponse {
// This field uses the error codes defined in grpc::StatusCode.
int32 error_code = 1;
string error_message = 2;
}

@ -29,9 +29,9 @@ EXPECTED_NAMES = {
'src/proto/grpc/testing/xds': 'xds',
'src/proto/grpc/testing/xds/v3': 'xds_v3',
'src/proto/grpc/core': 'core',
'src/proto/grpc/http_over_grpc': 'http_over_grpc',
'src/proto/grpc/health/v1': 'health',
'src/proto/grpc/reflection/v1alpha': 'reflection',
'src/proto/grpc/reflection/v1': 'reflection_v1',
}
errors = 0

Loading…
Cancel
Save