pull/20478/head
Juanli Shen 5 years ago
parent 85a500c13a
commit 2dc42a1e02
  1. 7
      CMakeLists.txt
  2. 21
      Makefile
  3. 1
      build.yaml
  4. 140
      src/core/ext/filters/client_channel/xds/xds_client.cc
  5. 564
      src/core/lib/transport/static_metadata.cc
  6. 149
      src/core/lib/transport/static_metadata.h
  7. 9
      src/proto/grpc/testing/xds/BUILD
  8. 51
      src/proto/grpc/testing/xds/ads_for_test.proto
  9. 1
      test/core/end2end/fuzzers/hpack.dictionary
  10. 1
      test/cpp/end2end/BUILD
  11. 455
      test/cpp/end2end/xds_end2end_test.cc
  12. 1
      tools/codegen/core/gen_static_metadata.py

@ -16791,6 +16791,10 @@ endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
add_executable(xds_end2end_test
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.pb.h
@ -16804,6 +16808,9 @@ add_executable(xds_end2end_test
third_party/googletest/googlemock/src/gmock-all.cc
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/ads_for_test.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/eds_for_test.proto
)

@ -2984,6 +2984,22 @@ $(GENDIR)/src/proto/grpc/testing/worker_service.grpc.pb.cc: src/proto/grpc/testi
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc: src/proto/grpc/testing/xds/ads_for_test.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc: src/proto/grpc/testing/xds/ads_for_test.proto $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc: protoc_dep_error
@ -20004,6 +20020,7 @@ endif
XDS_END2END_TEST_SRC = \
$(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc \
test/cpp/end2end/xds_end2end_test.cc \
@ -20037,6 +20054,8 @@ endif
endif
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/ads_for_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/eds_for_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/lrs_for_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a
@ -20050,7 +20069,7 @@ ifneq ($(NO_DEPS),true)
-include $(XDS_END2END_TEST_OBJS:.o=.dep)
endif
endif
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/xds_end2end_test.o: $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/xds_end2end_test.o: $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc
PUBLIC_HEADERS_MUST_BE_C89_SRC = \

@ -6009,6 +6009,7 @@ targets:
build: test
language: c++
src:
- src/proto/grpc/testing/xds/ads_for_test.proto
- src/proto/grpc/testing/xds/eds_for_test.proto
- src/proto/grpc/testing/xds/lrs_for_test.proto
- test/cpp/end2end/xds_end2end_test.cc

@ -114,16 +114,16 @@ class XdsClient::ChannelState : public InternallyRefCounted<ChannelState> {
bool shutting_down_ = false;
};
// Contains an EDS call to the xds server.
class EdsCallState : public InternallyRefCounted<EdsCallState> {
// Contains an ADS call to the xds server.
class AdsCallState : public InternallyRefCounted<AdsCallState> {
public:
// The ctor and dtor should not be used directly.
explicit EdsCallState(RefCountedPtr<RetryableCall<EdsCallState>> parent);
~EdsCallState() override;
explicit AdsCallState(RefCountedPtr<RetryableCall<AdsCallState>> parent);
~AdsCallState() override;
void Orphan() override;
RetryableCall<EdsCallState>* parent() const { return parent_.get(); }
RetryableCall<AdsCallState>* parent() const { return parent_.get(); }
ChannelState* chand() const { return parent_->chand(); }
XdsClient* xds_client() const { return chand()->xds_client(); }
bool seen_response() const { return seen_response_; }
@ -135,7 +135,7 @@ class XdsClient::ChannelState : public InternallyRefCounted<ChannelState> {
bool IsCurrentCallOnChannel() const;
// The owning RetryableCall<>.
RefCountedPtr<RetryableCall<EdsCallState>> parent_;
RefCountedPtr<RetryableCall<AdsCallState>> parent_;
bool seen_response_ = false;
// Always non-NULL.
@ -256,16 +256,16 @@ class XdsClient::ChannelState : public InternallyRefCounted<ChannelState> {
grpc_channel* channel() const { return channel_; }
XdsClient* xds_client() const { return xds_client_.get(); }
EdsCallState* eds_calld() const { return eds_calld_->calld(); }
AdsCallState* ads_calld() const { return ads_calld_->calld(); }
LrsCallState* lrs_calld() const { return lrs_calld_->calld(); }
void MaybeStartEdsCall();
void StopEdsCall();
void MaybeStartAdsCall();
void StopAdsCall();
void MaybeStartLrsCall();
void StopLrsCall();
bool HasActiveEdsCall() const { return eds_calld_->calld() != nullptr; }
bool HasActiveAdsCall() const { return ads_calld_->calld() != nullptr; }
void StartConnectivityWatchLocked();
void CancelConnectivityWatchLocked();
@ -282,7 +282,7 @@ class XdsClient::ChannelState : public InternallyRefCounted<ChannelState> {
StateWatcher* watcher_ = nullptr;
// The retryable XDS calls.
OrphanablePtr<RetryableCall<EdsCallState>> eds_calld_;
OrphanablePtr<RetryableCall<AdsCallState>> ads_calld_;
OrphanablePtr<RetryableCall<LrsCallState>> lrs_calld_;
};
@ -396,18 +396,18 @@ XdsClient::ChannelState::~ChannelState() {
void XdsClient::ChannelState::Orphan() {
shutting_down_ = true;
CancelConnectivityWatchLocked();
eds_calld_.reset();
ads_calld_.reset();
lrs_calld_.reset();
Unref(DEBUG_LOCATION, "ChannelState+orphaned");
}
void XdsClient::ChannelState::MaybeStartEdsCall() {
if (eds_calld_ != nullptr) return;
eds_calld_.reset(New<RetryableCall<EdsCallState>>(
Ref(DEBUG_LOCATION, "ChannelState+eds")));
void XdsClient::ChannelState::MaybeStartAdsCall() {
if (ads_calld_ != nullptr) return;
ads_calld_.reset(New<RetryableCall<AdsCallState>>(
Ref(DEBUG_LOCATION, "ChannelState+ads")));
}
void XdsClient::ChannelState::StopEdsCall() { eds_calld_.reset(); }
void XdsClient::ChannelState::StopAdsCall() { ads_calld_.reset(); }
void XdsClient::ChannelState::MaybeStartLrsCall() {
if (lrs_calld_ != nullptr) return;
@ -526,14 +526,14 @@ void XdsClient::ChannelState::RetryableCall<T>::OnRetryTimerLocked(
}
//
// XdsClient::ChannelState::EdsCallState
// XdsClient::ChannelState::AdsCallState
//
XdsClient::ChannelState::EdsCallState::EdsCallState(
RefCountedPtr<RetryableCall<EdsCallState>> parent)
: InternallyRefCounted<EdsCallState>(&grpc_xds_client_trace),
XdsClient::ChannelState::AdsCallState::AdsCallState(
RefCountedPtr<RetryableCall<AdsCallState>> parent)
: InternallyRefCounted<AdsCallState>(&grpc_xds_client_trace),
parent_(std::move(parent)) {
// Init the EDS call. Note that the call will progress every time there's
// Init the ADS call. Note that the call will progress every time there's
// activity in xds_client()->interested_parties_, which is comprised of
// the polling entities from client_channel.
GPR_ASSERT(xds_client() != nullptr);
@ -543,7 +543,7 @@ XdsClient::ChannelState::EdsCallState::EdsCallState(
call_ = grpc_channel_create_pollset_set_call(
chand()->channel_, nullptr, GRPC_PROPAGATE_DEFAULTS,
xds_client()->interested_parties_,
GRPC_MDSTR_SLASH_ENVOY_DOT_API_DOT_V2_DOT_ENDPOINTDISCOVERYSERVICE_SLASH_STREAMENDPOINTS,
GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES,
nullptr, GRPC_MILLIS_INF_FUTURE, nullptr);
GPR_ASSERT(call_ != nullptr);
// Init the request payload.
@ -562,7 +562,7 @@ XdsClient::ChannelState::EdsCallState::EdsCallState(
// Start the call.
if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
gpr_log(GPR_INFO,
"[xds_client %p] Starting EDS call (chand: %p, calld: %p, "
"[xds_client %p] Starting ADS call (chand: %p, calld: %p, "
"call: %p)",
xds_client(), chand(), this, call_);
}
@ -601,7 +601,7 @@ XdsClient::ChannelState::EdsCallState::EdsCallState(
op->flags = 0;
op->reserved = nullptr;
op++;
Ref(DEBUG_LOCATION, "EDS+OnResponseReceivedLocked").release();
Ref(DEBUG_LOCATION, "ADS+OnResponseReceivedLocked").release();
call_error = grpc_call_start_batch_and_execute(call_, ops, (size_t)(op - ops),
&on_response_received_);
GPR_ASSERT(GRPC_CALL_OK == call_error);
@ -622,7 +622,7 @@ XdsClient::ChannelState::EdsCallState::EdsCallState(
GPR_ASSERT(GRPC_CALL_OK == call_error);
}
XdsClient::ChannelState::EdsCallState::~EdsCallState() {
XdsClient::ChannelState::AdsCallState::~AdsCallState() {
grpc_metadata_array_destroy(&initial_metadata_recv_);
grpc_metadata_array_destroy(&trailing_metadata_recv_);
grpc_byte_buffer_destroy(send_message_payload_);
@ -632,7 +632,7 @@ XdsClient::ChannelState::EdsCallState::~EdsCallState() {
grpc_call_unref(call_);
}
void XdsClient::ChannelState::EdsCallState::Orphan() {
void XdsClient::ChannelState::AdsCallState::Orphan() {
GPR_ASSERT(call_ != nullptr);
// If we are here because xds_client wants to cancel the call,
// on_status_received_ will complete the cancellation and clean up. Otherwise,
@ -643,23 +643,23 @@ void XdsClient::ChannelState::EdsCallState::Orphan() {
// corresponding unref happens in on_status_received_ instead of here.
}
void XdsClient::ChannelState::EdsCallState::OnResponseReceivedLocked(
void XdsClient::ChannelState::AdsCallState::OnResponseReceivedLocked(
void* arg, grpc_error* error) {
EdsCallState* eds_calld = static_cast<EdsCallState*>(arg);
XdsClient* xds_client = eds_calld->xds_client();
AdsCallState* ads_calld = static_cast<AdsCallState*>(arg);
XdsClient* xds_client = ads_calld->xds_client();
// Empty payload means the call was cancelled.
if (!eds_calld->IsCurrentCallOnChannel() ||
eds_calld->recv_message_payload_ == nullptr) {
eds_calld->Unref(DEBUG_LOCATION, "EDS+OnResponseReceivedLocked");
if (!ads_calld->IsCurrentCallOnChannel() ||
ads_calld->recv_message_payload_ == nullptr) {
ads_calld->Unref(DEBUG_LOCATION, "ADS+OnResponseReceivedLocked");
return;
}
// Read the response.
grpc_byte_buffer_reader bbr;
grpc_byte_buffer_reader_init(&bbr, eds_calld->recv_message_payload_);
grpc_byte_buffer_reader_init(&bbr, ads_calld->recv_message_payload_);
grpc_slice response_slice = grpc_byte_buffer_reader_readall(&bbr);
grpc_byte_buffer_reader_destroy(&bbr);
grpc_byte_buffer_destroy(eds_calld->recv_message_payload_);
eds_calld->recv_message_payload_ = nullptr;
grpc_byte_buffer_destroy(ads_calld->recv_message_payload_);
ads_calld->recv_message_payload_ = nullptr;
// TODO(juanlishen): When we convert this to use the xds protocol, the
// balancer will send us a fallback timeout such that we should go into
// fallback mode if we have lost contact with the balancer after a certain
@ -676,7 +676,7 @@ void XdsClient::ChannelState::EdsCallState::OnResponseReceivedLocked(
XdsEdsResponseDecodeAndParse(response_slice, &update);
if (parse_error != GRPC_ERROR_NONE) {
gpr_log(GPR_ERROR,
"[xds_client %p] EDS response parsing failed. error=%s",
"[xds_client %p] ADS response parsing failed. error=%s",
xds_client, grpc_error_string(parse_error));
GRPC_ERROR_UNREF(parse_error);
return;
@ -685,16 +685,16 @@ void XdsClient::ChannelState::EdsCallState::OnResponseReceivedLocked(
char* response_slice_str =
grpc_dump_slice(response_slice, GPR_DUMP_ASCII | GPR_DUMP_HEX);
gpr_log(GPR_ERROR,
"[xds_client %p] EDS response '%s' doesn't contain any valid "
"[xds_client %p] ADS response '%s' doesn't contain any valid "
"locality but doesn't require to drop all calls. Ignoring.",
xds_client, response_slice_str);
gpr_free(response_slice_str);
return;
}
eds_calld->seen_response_ = true;
ads_calld->seen_response_ = true;
if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
gpr_log(GPR_INFO,
"[xds_client %p] EDS response with %" PRIuPTR
"[xds_client %p] ADS response with %" PRIuPTR
" priorities and %" PRIuPTR
" drop categories received (drop_all=%d)",
xds_client, update.priority_list_update.size(),
@ -741,7 +741,7 @@ void XdsClient::ChannelState::EdsCallState::OnResponseReceivedLocked(
}
}
// Start load reporting if needed.
LrsCallState* lrs_calld = eds_calld->chand()->lrs_calld_->calld();
LrsCallState* lrs_calld = ads_calld->chand()->lrs_calld_->calld();
if (lrs_calld != nullptr) lrs_calld->MaybeStartReportingLocked();
// Ignore identical update.
const EdsUpdate& prev_update = xds_client->cluster_state_.eds_update;
@ -768,54 +768,54 @@ void XdsClient::ChannelState::EdsCallState::OnResponseReceivedLocked(
}();
grpc_slice_unref_internal(response_slice);
if (xds_client->shutting_down_) {
eds_calld->Unref(DEBUG_LOCATION,
"EDS+OnResponseReceivedLocked+xds_shutdown");
ads_calld->Unref(DEBUG_LOCATION,
"ADS+OnResponseReceivedLocked+xds_shutdown");
return;
}
// Keep listening for serverlist updates.
grpc_op op;
memset(&op, 0, sizeof(op));
op.op = GRPC_OP_RECV_MESSAGE;
op.data.recv_message.recv_message = &eds_calld->recv_message_payload_;
op.data.recv_message.recv_message = &ads_calld->recv_message_payload_;
op.flags = 0;
op.reserved = nullptr;
GPR_ASSERT(eds_calld->call_ != nullptr);
// Reuse the "EDS+OnResponseReceivedLocked" ref taken in ctor.
GPR_ASSERT(ads_calld->call_ != nullptr);
// Reuse the "ADS+OnResponseReceivedLocked" ref taken in ctor.
const grpc_call_error call_error = grpc_call_start_batch_and_execute(
eds_calld->call_, &op, 1, &eds_calld->on_response_received_);
ads_calld->call_, &op, 1, &ads_calld->on_response_received_);
GPR_ASSERT(GRPC_CALL_OK == call_error);
}
void XdsClient::ChannelState::EdsCallState::OnStatusReceivedLocked(
void XdsClient::ChannelState::AdsCallState::OnStatusReceivedLocked(
void* arg, grpc_error* error) {
EdsCallState* eds_calld = static_cast<EdsCallState*>(arg);
ChannelState* chand = eds_calld->chand();
XdsClient* xds_client = eds_calld->xds_client();
AdsCallState* ads_calld = static_cast<AdsCallState*>(arg);
ChannelState* chand = ads_calld->chand();
XdsClient* xds_client = ads_calld->xds_client();
if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
char* status_details = grpc_slice_to_c_string(eds_calld->status_details_);
char* status_details = grpc_slice_to_c_string(ads_calld->status_details_);
gpr_log(GPR_INFO,
"[xds_client %p] EDS call status received. Status = %d, details "
"= '%s', (chand: %p, eds_calld: %p, call: %p), error '%s'",
xds_client, eds_calld->status_code_, status_details, chand,
eds_calld, eds_calld->call_, grpc_error_string(error));
"[xds_client %p] ADS call status received. Status = %d, details "
"= '%s', (chand: %p, ads_calld: %p, call: %p), error '%s'",
xds_client, ads_calld->status_code_, status_details, chand,
ads_calld, ads_calld->call_, grpc_error_string(error));
gpr_free(status_details);
}
// Ignore status from a stale call.
if (eds_calld->IsCurrentCallOnChannel()) {
if (ads_calld->IsCurrentCallOnChannel()) {
// Try to restart the call.
eds_calld->parent_->OnCallFinishedLocked();
ads_calld->parent_->OnCallFinishedLocked();
// Send error to all watchers.
xds_client->NotifyOnError(
GRPC_ERROR_CREATE_FROM_STATIC_STRING("xds call failed"));
}
eds_calld->Unref(DEBUG_LOCATION, "EDS+OnStatusReceivedLocked");
ads_calld->Unref(DEBUG_LOCATION, "ADS+OnStatusReceivedLocked");
}
bool XdsClient::ChannelState::EdsCallState::IsCurrentCallOnChannel() const {
// If the retryable EDS call is null (which only happens when the xds channel
// is shutting down), all the EDS calls are stale.
if (chand()->eds_calld_ == nullptr) return false;
return this == chand()->eds_calld_->calld();
bool XdsClient::ChannelState::AdsCallState::IsCurrentCallOnChannel() const {
// If the retryable ADS call is null (which only happens when the xds channel
// is shutting down), all the ADS calls are stale.
if (chand()->ads_calld_ == nullptr) return false;
return this == chand()->ads_calld_->calld();
}
//
@ -1031,11 +1031,11 @@ void XdsClient::ChannelState::LrsCallState::MaybeStartReportingLocked() {
if (send_message_payload_ != nullptr) return;
// Don't start if no LRS response has arrived.
if (!seen_response()) return;
// Don't start if the EDS call hasn't received any valid response. Note that
// Don't start if the ADS call hasn't received any valid response. Note that
// this must be the first channel because it is the current channel but its
// EDS call hasn't seen any response.
EdsCallState* eds_calld = chand()->eds_calld_->calld();
if (eds_calld == nullptr || !eds_calld->seen_response()) return;
// ADS call hasn't seen any response.
AdsCallState* ads_calld = chand()->ads_calld_->calld();
if (ads_calld == nullptr || !ads_calld->seen_response()) return;
// Start reporting.
for (auto* client_stats : chand()->xds_client_->cluster_state_.client_stats) {
client_stats->MaybeInitLastReportTime();
@ -1219,7 +1219,7 @@ void XdsClient::WatchEndpointData(StringView cluster,
if (!cluster_state_.eds_update.priority_list_update.empty()) {
w->OnEndpointChanged(cluster_state_.eds_update);
}
chand_->MaybeStartEdsCall();
chand_->MaybeStartAdsCall();
}
void XdsClient::CancelEndpointDataWatch(StringView cluster,
@ -1228,7 +1228,7 @@ void XdsClient::CancelEndpointDataWatch(StringView cluster,
if (it != cluster_state_.endpoint_watchers.end()) {
cluster_state_.endpoint_watchers.erase(it);
}
if (cluster_state_.endpoint_watchers.empty()) chand_->StopEdsCall();
if (cluster_state_.endpoint_watchers.empty()) chand_->StopAdsCall();
}
void XdsClient::AddClientStats(StringView cluster,

@ -68,62 +68,59 @@ static constexpr uint8_t g_bytes[] = {
114, 118, 105, 99, 101, 46, 108, 111, 97, 100, 95, 115, 116, 97, 116,
115, 46, 118, 50, 46, 76, 111, 97, 100, 82, 101, 112, 111, 114, 116,
105, 110, 103, 83, 101, 114, 118, 105, 99, 101, 47, 83, 116, 114, 101,
97, 109, 76, 111, 97, 100, 83, 116, 97, 116, 115, 47, 101, 110, 118,
111, 121, 46, 97, 112, 105, 46, 118, 50, 46, 69, 110, 100, 112, 111,
105, 110, 116, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114,
118, 105, 99, 101, 47, 83, 116, 114, 101, 97, 109, 69, 110, 100, 112,
111, 105, 110, 116, 115, 47, 103, 114, 112, 99, 46, 104, 101, 97, 108,
116, 104, 46, 118, 49, 46, 72, 101, 97, 108, 116, 104, 47, 87, 97,
116, 99, 104, 47, 101, 110, 118, 111, 121, 46, 115, 101, 114, 118, 105,
99, 101, 46, 100, 105, 115, 99, 111, 118, 101, 114, 121, 46, 118, 50,
46, 65, 103, 103, 114, 101, 103, 97, 116, 101, 100, 68, 105, 115, 99,
111, 118, 101, 114, 121, 83, 101, 114, 118, 105, 99, 101, 47, 83, 116,
114, 101, 97, 109, 65, 103, 103, 114, 101, 103, 97, 116, 101, 100, 82,
101, 115, 111, 117, 114, 99, 101, 115, 100, 101, 102, 108, 97, 116, 101,
103, 122, 105, 112, 115, 116, 114, 101, 97, 109, 47, 103, 122, 105, 112,
71, 69, 84, 80, 79, 83, 84, 47, 47, 105, 110, 100, 101, 120, 46,
104, 116, 109, 108, 104, 116, 116, 112, 104, 116, 116, 112, 115, 50, 48,
48, 50, 48, 52, 50, 48, 54, 51, 48, 52, 52, 48, 48, 52, 48,
52, 53, 48, 48, 97, 99, 99, 101, 112, 116, 45, 99, 104, 97, 114,
115, 101, 116, 103, 122, 105, 112, 44, 32, 100, 101, 102, 108, 97, 116,
101, 97, 99, 99, 101, 112, 116, 45, 108, 97, 110, 103, 117, 97, 103,
101, 97, 99, 99, 101, 112, 116, 45, 114, 97, 110, 103, 101, 115, 97,
99, 99, 101, 112, 116, 97, 99, 99, 101, 115, 115, 45, 99, 111, 110,
116, 114, 111, 108, 45, 97, 108, 108, 111, 119, 45, 111, 114, 105, 103,
105, 110, 97, 103, 101, 97, 108, 108, 111, 119, 97, 117, 116, 104, 111,
114, 105, 122, 97, 116, 105, 111, 110, 99, 97, 99, 104, 101, 45, 99,
111, 110, 116, 114, 111, 108, 99, 111, 110, 116, 101, 110, 116, 45, 100,
105, 115, 112, 111, 115, 105, 116, 105, 111, 110, 99, 111, 110, 116, 101,
110, 116, 45, 108, 97, 110, 103, 117, 97, 103, 101, 99, 111, 110, 116,
101, 110, 116, 45, 108, 101, 110, 103, 116, 104, 99, 111, 110, 116, 101,
110, 116, 45, 108, 111, 99, 97, 116, 105, 111, 110, 99, 111, 110, 116,
101, 110, 116, 45, 114, 97, 110, 103, 101, 99, 111, 111, 107, 105, 101,
100, 97, 116, 101, 101, 116, 97, 103, 101, 120, 112, 101, 99, 116, 101,
120, 112, 105, 114, 101, 115, 102, 114, 111, 109, 105, 102, 45, 109, 97,
116, 99, 104, 105, 102, 45, 109, 111, 100, 105, 102, 105, 101, 100, 45,
115, 105, 110, 99, 101, 105, 102, 45, 110, 111, 110, 101, 45, 109, 97,
116, 99, 104, 105, 102, 45, 114, 97, 110, 103, 101, 105, 102, 45, 117,
110, 109, 111, 100, 105, 102, 105, 101, 100, 45, 115, 105, 110, 99, 101,
108, 97, 115, 116, 45, 109, 111, 100, 105, 102, 105, 101, 100, 108, 105,
110, 107, 108, 111, 99, 97, 116, 105, 111, 110, 109, 97, 120, 45, 102,
111, 114, 119, 97, 114, 100, 115, 112, 114, 111, 120, 121, 45, 97, 117,
116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 112, 114, 111, 120, 121,
45, 97, 117, 116, 104, 111, 114, 105, 122, 97, 116, 105, 111, 110, 114,
97, 110, 103, 101, 114, 101, 102, 101, 114, 101, 114, 114, 101, 102, 114,
101, 115, 104, 114, 101, 116, 114, 121, 45, 97, 102, 116, 101, 114, 115,
101, 114, 118, 101, 114, 115, 101, 116, 45, 99, 111, 111, 107, 105, 101,
115, 116, 114, 105, 99, 116, 45, 116, 114, 97, 110, 115, 112, 111, 114,
116, 45, 115, 101, 99, 117, 114, 105, 116, 121, 116, 114, 97, 110, 115,
102, 101, 114, 45, 101, 110, 99, 111, 100, 105, 110, 103, 118, 97, 114,
121, 118, 105, 97, 119, 119, 119, 45, 97, 117, 116, 104, 101, 110, 116,
105, 99, 97, 116, 101, 48, 105, 100, 101, 110, 116, 105, 116, 121, 116,
114, 97, 105, 108, 101, 114, 115, 97, 112, 112, 108, 105, 99, 97, 116,
105, 111, 110, 47, 103, 114, 112, 99, 103, 114, 112, 99, 80, 85, 84,
108, 98, 45, 99, 111, 115, 116, 45, 98, 105, 110, 105, 100, 101, 110,
116, 105, 116, 121, 44, 100, 101, 102, 108, 97, 116, 101, 105, 100, 101,
110, 116, 105, 116, 121, 44, 103, 122, 105, 112, 100, 101, 102, 108, 97,
116, 101, 44, 103, 122, 105, 112, 105, 100, 101, 110, 116, 105, 116, 121,
44, 100, 101, 102, 108, 97, 116, 101, 44, 103, 122, 105, 112};
97, 109, 76, 111, 97, 100, 83, 116, 97, 116, 115, 47, 103, 114, 112,
99, 46, 104, 101, 97, 108, 116, 104, 46, 118, 49, 46, 72, 101, 97,
108, 116, 104, 47, 87, 97, 116, 99, 104, 47, 101, 110, 118, 111, 121,
46, 115, 101, 114, 118, 105, 99, 101, 46, 100, 105, 115, 99, 111, 118,
101, 114, 121, 46, 118, 50, 46, 65, 103, 103, 114, 101, 103, 97, 116,
101, 100, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 101, 114, 118,
105, 99, 101, 47, 83, 116, 114, 101, 97, 109, 65, 103, 103, 114, 101,
103, 97, 116, 101, 100, 82, 101, 115, 111, 117, 114, 99, 101, 115, 100,
101, 102, 108, 97, 116, 101, 103, 122, 105, 112, 115, 116, 114, 101, 97,
109, 47, 103, 122, 105, 112, 71, 69, 84, 80, 79, 83, 84, 47, 47,
105, 110, 100, 101, 120, 46, 104, 116, 109, 108, 104, 116, 116, 112, 104,
116, 116, 112, 115, 50, 48, 48, 50, 48, 52, 50, 48, 54, 51, 48,
52, 52, 48, 48, 52, 48, 52, 53, 48, 48, 97, 99, 99, 101, 112,
116, 45, 99, 104, 97, 114, 115, 101, 116, 103, 122, 105, 112, 44, 32,
100, 101, 102, 108, 97, 116, 101, 97, 99, 99, 101, 112, 116, 45, 108,
97, 110, 103, 117, 97, 103, 101, 97, 99, 99, 101, 112, 116, 45, 114,
97, 110, 103, 101, 115, 97, 99, 99, 101, 112, 116, 97, 99, 99, 101,
115, 115, 45, 99, 111, 110, 116, 114, 111, 108, 45, 97, 108, 108, 111,
119, 45, 111, 114, 105, 103, 105, 110, 97, 103, 101, 97, 108, 108, 111,
119, 97, 117, 116, 104, 111, 114, 105, 122, 97, 116, 105, 111, 110, 99,
97, 99, 104, 101, 45, 99, 111, 110, 116, 114, 111, 108, 99, 111, 110,
116, 101, 110, 116, 45, 100, 105, 115, 112, 111, 115, 105, 116, 105, 111,
110, 99, 111, 110, 116, 101, 110, 116, 45, 108, 97, 110, 103, 117, 97,
103, 101, 99, 111, 110, 116, 101, 110, 116, 45, 108, 101, 110, 103, 116,
104, 99, 111, 110, 116, 101, 110, 116, 45, 108, 111, 99, 97, 116, 105,
111, 110, 99, 111, 110, 116, 101, 110, 116, 45, 114, 97, 110, 103, 101,
99, 111, 111, 107, 105, 101, 100, 97, 116, 101, 101, 116, 97, 103, 101,
120, 112, 101, 99, 116, 101, 120, 112, 105, 114, 101, 115, 102, 114, 111,
109, 105, 102, 45, 109, 97, 116, 99, 104, 105, 102, 45, 109, 111, 100,
105, 102, 105, 101, 100, 45, 115, 105, 110, 99, 101, 105, 102, 45, 110,
111, 110, 101, 45, 109, 97, 116, 99, 104, 105, 102, 45, 114, 97, 110,
103, 101, 105, 102, 45, 117, 110, 109, 111, 100, 105, 102, 105, 101, 100,
45, 115, 105, 110, 99, 101, 108, 97, 115, 116, 45, 109, 111, 100, 105,
102, 105, 101, 100, 108, 105, 110, 107, 108, 111, 99, 97, 116, 105, 111,
110, 109, 97, 120, 45, 102, 111, 114, 119, 97, 114, 100, 115, 112, 114,
111, 120, 121, 45, 97, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116,
101, 112, 114, 111, 120, 121, 45, 97, 117, 116, 104, 111, 114, 105, 122,
97, 116, 105, 111, 110, 114, 97, 110, 103, 101, 114, 101, 102, 101, 114,
101, 114, 114, 101, 102, 114, 101, 115, 104, 114, 101, 116, 114, 121, 45,
97, 102, 116, 101, 114, 115, 101, 114, 118, 101, 114, 115, 101, 116, 45,
99, 111, 111, 107, 105, 101, 115, 116, 114, 105, 99, 116, 45, 116, 114,
97, 110, 115, 112, 111, 114, 116, 45, 115, 101, 99, 117, 114, 105, 116,
121, 116, 114, 97, 110, 115, 102, 101, 114, 45, 101, 110, 99, 111, 100,
105, 110, 103, 118, 97, 114, 121, 118, 105, 97, 119, 119, 119, 45, 97,
117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 101, 48, 105, 100, 101,
110, 116, 105, 116, 121, 116, 114, 97, 105, 108, 101, 114, 115, 97, 112,
112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 103, 114, 112, 99, 103,
114, 112, 99, 80, 85, 84, 108, 98, 45, 99, 111, 115, 116, 45, 98,
105, 110, 105, 100, 101, 110, 116, 105, 116, 121, 44, 100, 101, 102, 108,
97, 116, 101, 105, 100, 101, 110, 116, 105, 116, 121, 44, 103, 122, 105,
112, 100, 101, 102, 108, 97, 116, 101, 44, 103, 122, 105, 112, 105, 100,
101, 110, 116, 105, 116, 121, 44, 100, 101, 102, 108, 97, 116, 101, 44,
103, 122, 105, 112};
grpc_slice_refcount grpc_core::StaticSliceRefcount::kStaticSubRefcount;
@ -188,7 +185,6 @@ struct StaticMetadataCtx {
StaticSliceRefcount(102), StaticSliceRefcount(103),
StaticSliceRefcount(104), StaticSliceRefcount(105),
StaticSliceRefcount(106), StaticSliceRefcount(107),
StaticSliceRefcount(108),
};
const StaticMetadataSlice slices[GRPC_STATIC_MDSTR_COUNT] = {
@ -229,79 +225,78 @@ struct StaticMetadataCtx {
grpc_core::StaticMetadataSlice(&refcounts[33].base, 31, g_bytes + 434),
grpc_core::StaticMetadataSlice(&refcounts[34].base, 36, g_bytes + 465),
grpc_core::StaticMetadataSlice(&refcounts[35].base, 65, g_bytes + 501),
grpc_core::StaticMetadataSlice(&refcounts[36].base, 54, g_bytes + 566),
grpc_core::StaticMetadataSlice(&refcounts[37].base, 28, g_bytes + 620),
grpc_core::StaticMetadataSlice(&refcounts[38].base, 80, g_bytes + 648),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 7, g_bytes + 728),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 4, g_bytes + 735),
grpc_core::StaticMetadataSlice(&refcounts[41].base, 11, g_bytes + 739),
grpc_core::StaticMetadataSlice(&refcounts[42].base, 3, g_bytes + 750),
grpc_core::StaticMetadataSlice(&refcounts[43].base, 4, g_bytes + 753),
grpc_core::StaticMetadataSlice(&refcounts[44].base, 1, g_bytes + 757),
grpc_core::StaticMetadataSlice(&refcounts[45].base, 11, g_bytes + 758),
grpc_core::StaticMetadataSlice(&refcounts[46].base, 4, g_bytes + 769),
grpc_core::StaticMetadataSlice(&refcounts[47].base, 5, g_bytes + 773),
grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 778),
grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 781),
grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 784),
grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 787),
grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 790),
grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 793),
grpc_core::StaticMetadataSlice(&refcounts[54].base, 3, g_bytes + 796),
grpc_core::StaticMetadataSlice(&refcounts[55].base, 14, g_bytes + 799),
grpc_core::StaticMetadataSlice(&refcounts[56].base, 13, g_bytes + 813),
grpc_core::StaticMetadataSlice(&refcounts[57].base, 15, g_bytes + 826),
grpc_core::StaticMetadataSlice(&refcounts[58].base, 13, g_bytes + 841),
grpc_core::StaticMetadataSlice(&refcounts[59].base, 6, g_bytes + 854),
grpc_core::StaticMetadataSlice(&refcounts[60].base, 27, g_bytes + 860),
grpc_core::StaticMetadataSlice(&refcounts[61].base, 3, g_bytes + 887),
grpc_core::StaticMetadataSlice(&refcounts[62].base, 5, g_bytes + 890),
grpc_core::StaticMetadataSlice(&refcounts[63].base, 13, g_bytes + 895),
grpc_core::StaticMetadataSlice(&refcounts[64].base, 13, g_bytes + 908),
grpc_core::StaticMetadataSlice(&refcounts[65].base, 19, g_bytes + 921),
grpc_core::StaticMetadataSlice(&refcounts[66].base, 16, g_bytes + 940),
grpc_core::StaticMetadataSlice(&refcounts[67].base, 14, g_bytes + 956),
grpc_core::StaticMetadataSlice(&refcounts[68].base, 16, g_bytes + 970),
grpc_core::StaticMetadataSlice(&refcounts[69].base, 13, g_bytes + 986),
grpc_core::StaticMetadataSlice(&refcounts[70].base, 6, g_bytes + 999),
grpc_core::StaticMetadataSlice(&refcounts[71].base, 4, g_bytes + 1005),
grpc_core::StaticMetadataSlice(&refcounts[72].base, 4, g_bytes + 1009),
grpc_core::StaticMetadataSlice(&refcounts[73].base, 6, g_bytes + 1013),
grpc_core::StaticMetadataSlice(&refcounts[74].base, 7, g_bytes + 1019),
grpc_core::StaticMetadataSlice(&refcounts[75].base, 4, g_bytes + 1026),
grpc_core::StaticMetadataSlice(&refcounts[76].base, 8, g_bytes + 1030),
grpc_core::StaticMetadataSlice(&refcounts[77].base, 17, g_bytes + 1038),
grpc_core::StaticMetadataSlice(&refcounts[78].base, 13, g_bytes + 1055),
grpc_core::StaticMetadataSlice(&refcounts[79].base, 8, g_bytes + 1068),
grpc_core::StaticMetadataSlice(&refcounts[80].base, 19, g_bytes + 1076),
grpc_core::StaticMetadataSlice(&refcounts[81].base, 13, g_bytes + 1095),
grpc_core::StaticMetadataSlice(&refcounts[82].base, 4, g_bytes + 1108),
grpc_core::StaticMetadataSlice(&refcounts[83].base, 8, g_bytes + 1112),
grpc_core::StaticMetadataSlice(&refcounts[84].base, 12, g_bytes + 1120),
grpc_core::StaticMetadataSlice(&refcounts[85].base, 18, g_bytes + 1132),
grpc_core::StaticMetadataSlice(&refcounts[86].base, 19, g_bytes + 1150),
grpc_core::StaticMetadataSlice(&refcounts[87].base, 5, g_bytes + 1169),
grpc_core::StaticMetadataSlice(&refcounts[88].base, 7, g_bytes + 1174),
grpc_core::StaticMetadataSlice(&refcounts[89].base, 7, g_bytes + 1181),
grpc_core::StaticMetadataSlice(&refcounts[90].base, 11, g_bytes + 1188),
grpc_core::StaticMetadataSlice(&refcounts[91].base, 6, g_bytes + 1199),
grpc_core::StaticMetadataSlice(&refcounts[92].base, 10, g_bytes + 1205),
grpc_core::StaticMetadataSlice(&refcounts[93].base, 25, g_bytes + 1215),
grpc_core::StaticMetadataSlice(&refcounts[94].base, 17, g_bytes + 1240),
grpc_core::StaticMetadataSlice(&refcounts[95].base, 4, g_bytes + 1257),
grpc_core::StaticMetadataSlice(&refcounts[96].base, 3, g_bytes + 1261),
grpc_core::StaticMetadataSlice(&refcounts[97].base, 16, g_bytes + 1264),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 1, g_bytes + 1280),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8, g_bytes + 1281),
grpc_core::StaticMetadataSlice(&refcounts[100].base, 8, g_bytes + 1289),
grpc_core::StaticMetadataSlice(&refcounts[101].base, 16, g_bytes + 1297),
grpc_core::StaticMetadataSlice(&refcounts[102].base, 4, g_bytes + 1313),
grpc_core::StaticMetadataSlice(&refcounts[103].base, 3, g_bytes + 1317),
grpc_core::StaticMetadataSlice(&refcounts[104].base, 11, g_bytes + 1320),
grpc_core::StaticMetadataSlice(&refcounts[105].base, 16, g_bytes + 1331),
grpc_core::StaticMetadataSlice(&refcounts[106].base, 13, g_bytes + 1347),
grpc_core::StaticMetadataSlice(&refcounts[107].base, 12, g_bytes + 1360),
grpc_core::StaticMetadataSlice(&refcounts[108].base, 21, g_bytes + 1372),
grpc_core::StaticMetadataSlice(&refcounts[36].base, 28, g_bytes + 566),
grpc_core::StaticMetadataSlice(&refcounts[37].base, 80, g_bytes + 594),
grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 11, g_bytes + 685),
grpc_core::StaticMetadataSlice(&refcounts[41].base, 3, g_bytes + 696),
grpc_core::StaticMetadataSlice(&refcounts[42].base, 4, g_bytes + 699),
grpc_core::StaticMetadataSlice(&refcounts[43].base, 1, g_bytes + 703),
grpc_core::StaticMetadataSlice(&refcounts[44].base, 11, g_bytes + 704),
grpc_core::StaticMetadataSlice(&refcounts[45].base, 4, g_bytes + 715),
grpc_core::StaticMetadataSlice(&refcounts[46].base, 5, g_bytes + 719),
grpc_core::StaticMetadataSlice(&refcounts[47].base, 3, g_bytes + 724),
grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 727),
grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 730),
grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 733),
grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 736),
grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 739),
grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 742),
grpc_core::StaticMetadataSlice(&refcounts[54].base, 14, g_bytes + 745),
grpc_core::StaticMetadataSlice(&refcounts[55].base, 13, g_bytes + 759),
grpc_core::StaticMetadataSlice(&refcounts[56].base, 15, g_bytes + 772),
grpc_core::StaticMetadataSlice(&refcounts[57].base, 13, g_bytes + 787),
grpc_core::StaticMetadataSlice(&refcounts[58].base, 6, g_bytes + 800),
grpc_core::StaticMetadataSlice(&refcounts[59].base, 27, g_bytes + 806),
grpc_core::StaticMetadataSlice(&refcounts[60].base, 3, g_bytes + 833),
grpc_core::StaticMetadataSlice(&refcounts[61].base, 5, g_bytes + 836),
grpc_core::StaticMetadataSlice(&refcounts[62].base, 13, g_bytes + 841),
grpc_core::StaticMetadataSlice(&refcounts[63].base, 13, g_bytes + 854),
grpc_core::StaticMetadataSlice(&refcounts[64].base, 19, g_bytes + 867),
grpc_core::StaticMetadataSlice(&refcounts[65].base, 16, g_bytes + 886),
grpc_core::StaticMetadataSlice(&refcounts[66].base, 14, g_bytes + 902),
grpc_core::StaticMetadataSlice(&refcounts[67].base, 16, g_bytes + 916),
grpc_core::StaticMetadataSlice(&refcounts[68].base, 13, g_bytes + 932),
grpc_core::StaticMetadataSlice(&refcounts[69].base, 6, g_bytes + 945),
grpc_core::StaticMetadataSlice(&refcounts[70].base, 4, g_bytes + 951),
grpc_core::StaticMetadataSlice(&refcounts[71].base, 4, g_bytes + 955),
grpc_core::StaticMetadataSlice(&refcounts[72].base, 6, g_bytes + 959),
grpc_core::StaticMetadataSlice(&refcounts[73].base, 7, g_bytes + 965),
grpc_core::StaticMetadataSlice(&refcounts[74].base, 4, g_bytes + 972),
grpc_core::StaticMetadataSlice(&refcounts[75].base, 8, g_bytes + 976),
grpc_core::StaticMetadataSlice(&refcounts[76].base, 17, g_bytes + 984),
grpc_core::StaticMetadataSlice(&refcounts[77].base, 13, g_bytes + 1001),
grpc_core::StaticMetadataSlice(&refcounts[78].base, 8, g_bytes + 1014),
grpc_core::StaticMetadataSlice(&refcounts[79].base, 19, g_bytes + 1022),
grpc_core::StaticMetadataSlice(&refcounts[80].base, 13, g_bytes + 1041),
grpc_core::StaticMetadataSlice(&refcounts[81].base, 4, g_bytes + 1054),
grpc_core::StaticMetadataSlice(&refcounts[82].base, 8, g_bytes + 1058),
grpc_core::StaticMetadataSlice(&refcounts[83].base, 12, g_bytes + 1066),
grpc_core::StaticMetadataSlice(&refcounts[84].base, 18, g_bytes + 1078),
grpc_core::StaticMetadataSlice(&refcounts[85].base, 19, g_bytes + 1096),
grpc_core::StaticMetadataSlice(&refcounts[86].base, 5, g_bytes + 1115),
grpc_core::StaticMetadataSlice(&refcounts[87].base, 7, g_bytes + 1120),
grpc_core::StaticMetadataSlice(&refcounts[88].base, 7, g_bytes + 1127),
grpc_core::StaticMetadataSlice(&refcounts[89].base, 11, g_bytes + 1134),
grpc_core::StaticMetadataSlice(&refcounts[90].base, 6, g_bytes + 1145),
grpc_core::StaticMetadataSlice(&refcounts[91].base, 10, g_bytes + 1151),
grpc_core::StaticMetadataSlice(&refcounts[92].base, 25, g_bytes + 1161),
grpc_core::StaticMetadataSlice(&refcounts[93].base, 17, g_bytes + 1186),
grpc_core::StaticMetadataSlice(&refcounts[94].base, 4, g_bytes + 1203),
grpc_core::StaticMetadataSlice(&refcounts[95].base, 3, g_bytes + 1207),
grpc_core::StaticMetadataSlice(&refcounts[96].base, 16, g_bytes + 1210),
grpc_core::StaticMetadataSlice(&refcounts[97].base, 1, g_bytes + 1226),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 8, g_bytes + 1227),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8, g_bytes + 1235),
grpc_core::StaticMetadataSlice(&refcounts[100].base, 16, g_bytes + 1243),
grpc_core::StaticMetadataSlice(&refcounts[101].base, 4, g_bytes + 1259),
grpc_core::StaticMetadataSlice(&refcounts[102].base, 3, g_bytes + 1263),
grpc_core::StaticMetadataSlice(&refcounts[103].base, 11, g_bytes + 1266),
grpc_core::StaticMetadataSlice(&refcounts[104].base, 16, g_bytes + 1277),
grpc_core::StaticMetadataSlice(&refcounts[105].base, 13, g_bytes + 1293),
grpc_core::StaticMetadataSlice(&refcounts[106].base, 12, g_bytes + 1306),
grpc_core::StaticMetadataSlice(&refcounts[107].base, 21, g_bytes + 1318),
};
StaticMetadata static_mdelem_table[GRPC_STATIC_MDELEM_COUNT] = {
StaticMetadata(
@ -310,107 +305,107 @@ struct StaticMetadataCtx {
0),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
grpc_core::StaticMetadataSlice(&refcounts[42].base, 3, g_bytes + 750),
grpc_core::StaticMetadataSlice(&refcounts[41].base, 3, g_bytes + 696),
1),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
grpc_core::StaticMetadataSlice(&refcounts[43].base, 4, g_bytes + 753),
grpc_core::StaticMetadataSlice(&refcounts[42].base, 4, g_bytes + 699),
2),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[0].base, 5, g_bytes + 0),
grpc_core::StaticMetadataSlice(&refcounts[44].base, 1, g_bytes + 757),
grpc_core::StaticMetadataSlice(&refcounts[43].base, 1, g_bytes + 703),
3),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[0].base, 5, g_bytes + 0),
grpc_core::StaticMetadataSlice(&refcounts[45].base, 11,
g_bytes + 758),
grpc_core::StaticMetadataSlice(&refcounts[44].base, 11,
g_bytes + 704),
4),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
grpc_core::StaticMetadataSlice(&refcounts[46].base, 4, g_bytes + 769),
grpc_core::StaticMetadataSlice(&refcounts[45].base, 4, g_bytes + 715),
5),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
grpc_core::StaticMetadataSlice(&refcounts[47].base, 5, g_bytes + 773),
grpc_core::StaticMetadataSlice(&refcounts[46].base, 5, g_bytes + 719),
6),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 778),
grpc_core::StaticMetadataSlice(&refcounts[47].base, 3, g_bytes + 724),
7),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 781),
grpc_core::StaticMetadataSlice(&refcounts[48].base, 3, g_bytes + 727),
8),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 784),
grpc_core::StaticMetadataSlice(&refcounts[49].base, 3, g_bytes + 730),
9),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 787),
grpc_core::StaticMetadataSlice(&refcounts[50].base, 3, g_bytes + 733),
10),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 790),
grpc_core::StaticMetadataSlice(&refcounts[51].base, 3, g_bytes + 736),
11),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 793),
grpc_core::StaticMetadataSlice(&refcounts[52].base, 3, g_bytes + 739),
12),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[2].base, 7, g_bytes + 12),
grpc_core::StaticMetadataSlice(&refcounts[54].base, 3, g_bytes + 796),
grpc_core::StaticMetadataSlice(&refcounts[53].base, 3, g_bytes + 742),
13),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[55].base, 14,
g_bytes + 799),
grpc_core::StaticMetadataSlice(&refcounts[54].base, 14,
g_bytes + 745),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
14),
StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
g_bytes + 186),
grpc_core::StaticMetadataSlice(&refcounts[56].base, 13,
g_bytes + 813),
grpc_core::StaticMetadataSlice(&refcounts[55].base, 13,
g_bytes + 759),
15),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[57].base, 15,
g_bytes + 826),
grpc_core::StaticMetadataSlice(&refcounts[56].base, 15,
g_bytes + 772),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
16),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[58].base, 13,
g_bytes + 841),
grpc_core::StaticMetadataSlice(&refcounts[57].base, 13,
g_bytes + 787),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
17),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[59].base, 6, g_bytes + 854),
grpc_core::StaticMetadataSlice(&refcounts[58].base, 6, g_bytes + 800),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
18),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[60].base, 27,
g_bytes + 860),
grpc_core::StaticMetadataSlice(&refcounts[59].base, 27,
g_bytes + 806),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
19),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[61].base, 3, g_bytes + 887),
grpc_core::StaticMetadataSlice(&refcounts[60].base, 3, g_bytes + 833),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
20),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[62].base, 5, g_bytes + 890),
grpc_core::StaticMetadataSlice(&refcounts[61].base, 5, g_bytes + 836),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
21),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[63].base, 13,
g_bytes + 895),
grpc_core::StaticMetadataSlice(&refcounts[62].base, 13,
g_bytes + 841),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
22),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[64].base, 13,
g_bytes + 908),
grpc_core::StaticMetadataSlice(&refcounts[63].base, 13,
g_bytes + 854),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
23),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[65].base, 19,
g_bytes + 921),
grpc_core::StaticMetadataSlice(&refcounts[64].base, 19,
g_bytes + 867),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
24),
StaticMetadata(
@ -419,23 +414,23 @@ struct StaticMetadataCtx {
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
25),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[66].base, 16,
g_bytes + 940),
grpc_core::StaticMetadataSlice(&refcounts[65].base, 16,
g_bytes + 886),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
26),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[67].base, 14,
g_bytes + 956),
grpc_core::StaticMetadataSlice(&refcounts[66].base, 14,
g_bytes + 902),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
27),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[68].base, 16,
g_bytes + 970),
grpc_core::StaticMetadataSlice(&refcounts[67].base, 16,
g_bytes + 916),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
28),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[69].base, 13,
g_bytes + 986),
grpc_core::StaticMetadataSlice(&refcounts[68].base, 13,
g_bytes + 932),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
29),
StaticMetadata(
@ -444,32 +439,27 @@ struct StaticMetadataCtx {
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
30),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[70].base, 6, g_bytes + 999),
grpc_core::StaticMetadataSlice(&refcounts[69].base, 6, g_bytes + 945),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
31),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[71].base, 4,
g_bytes + 1005),
grpc_core::StaticMetadataSlice(&refcounts[70].base, 4, g_bytes + 951),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
32),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[72].base, 4,
g_bytes + 1009),
grpc_core::StaticMetadataSlice(&refcounts[71].base, 4, g_bytes + 955),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
33),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[73].base, 6,
g_bytes + 1013),
grpc_core::StaticMetadataSlice(&refcounts[72].base, 6, g_bytes + 959),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
34),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[74].base, 7,
g_bytes + 1019),
grpc_core::StaticMetadataSlice(&refcounts[73].base, 7, g_bytes + 965),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
35),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[75].base, 4,
g_bytes + 1026),
grpc_core::StaticMetadataSlice(&refcounts[74].base, 4, g_bytes + 972),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
36),
StaticMetadata(
@ -477,98 +467,97 @@ struct StaticMetadataCtx {
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
37),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[76].base, 8,
g_bytes + 1030),
grpc_core::StaticMetadataSlice(&refcounts[75].base, 8, g_bytes + 976),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
38),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[77].base, 17,
g_bytes + 1038),
grpc_core::StaticMetadataSlice(&refcounts[76].base, 17,
g_bytes + 984),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
39),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[78].base, 13,
g_bytes + 1055),
grpc_core::StaticMetadataSlice(&refcounts[77].base, 13,
g_bytes + 1001),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
40),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[79].base, 8,
g_bytes + 1068),
grpc_core::StaticMetadataSlice(&refcounts[78].base, 8,
g_bytes + 1014),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
41),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[80].base, 19,
g_bytes + 1076),
grpc_core::StaticMetadataSlice(&refcounts[79].base, 19,
g_bytes + 1022),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
42),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[81].base, 13,
g_bytes + 1095),
grpc_core::StaticMetadataSlice(&refcounts[80].base, 13,
g_bytes + 1041),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
43),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[82].base, 4,
g_bytes + 1108),
grpc_core::StaticMetadataSlice(&refcounts[81].base, 4,
g_bytes + 1054),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
44),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[83].base, 8,
g_bytes + 1112),
grpc_core::StaticMetadataSlice(&refcounts[82].base, 8,
g_bytes + 1058),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
45),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[84].base, 12,
g_bytes + 1120),
grpc_core::StaticMetadataSlice(&refcounts[83].base, 12,
g_bytes + 1066),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
46),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[85].base, 18,
g_bytes + 1132),
grpc_core::StaticMetadataSlice(&refcounts[84].base, 18,
g_bytes + 1078),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
47),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[86].base, 19,
g_bytes + 1150),
grpc_core::StaticMetadataSlice(&refcounts[85].base, 19,
g_bytes + 1096),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
48),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[87].base, 5,
g_bytes + 1169),
grpc_core::StaticMetadataSlice(&refcounts[86].base, 5,
g_bytes + 1115),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
49),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[88].base, 7,
g_bytes + 1174),
grpc_core::StaticMetadataSlice(&refcounts[87].base, 7,
g_bytes + 1120),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
50),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[89].base, 7,
g_bytes + 1181),
grpc_core::StaticMetadataSlice(&refcounts[88].base, 7,
g_bytes + 1127),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
51),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[90].base, 11,
g_bytes + 1188),
grpc_core::StaticMetadataSlice(&refcounts[89].base, 11,
g_bytes + 1134),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
52),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[91].base, 6,
g_bytes + 1199),
grpc_core::StaticMetadataSlice(&refcounts[90].base, 6,
g_bytes + 1145),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
53),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[92].base, 10,
g_bytes + 1205),
grpc_core::StaticMetadataSlice(&refcounts[91].base, 10,
g_bytes + 1151),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
54),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[93].base, 25,
g_bytes + 1215),
grpc_core::StaticMetadataSlice(&refcounts[92].base, 25,
g_bytes + 1161),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
55),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[94].base, 17,
g_bytes + 1240),
grpc_core::StaticMetadataSlice(&refcounts[93].base, 17,
g_bytes + 1186),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
56),
StaticMetadata(
@ -577,24 +566,24 @@ struct StaticMetadataCtx {
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
57),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[95].base, 4,
g_bytes + 1257),
grpc_core::StaticMetadataSlice(&refcounts[94].base, 4,
g_bytes + 1203),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
58),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[96].base, 3,
g_bytes + 1261),
grpc_core::StaticMetadataSlice(&refcounts[95].base, 3,
g_bytes + 1207),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
59),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[97].base, 16,
g_bytes + 1264),
grpc_core::StaticMetadataSlice(&refcounts[96].base, 16,
g_bytes + 1210),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
60),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[7].base, 11, g_bytes + 50),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 1,
g_bytes + 1280),
grpc_core::StaticMetadataSlice(&refcounts[97].base, 1,
g_bytes + 1226),
61),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[7].base, 11, g_bytes + 50),
@ -606,36 +595,36 @@ struct StaticMetadataCtx {
63),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
g_bytes + 1281),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
g_bytes + 1227),
64),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 4, g_bytes + 735),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
65),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[9].base, 13, g_bytes + 77),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 7, g_bytes + 728),
grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
66),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[5].base, 2, g_bytes + 36),
grpc_core::StaticMetadataSlice(&refcounts[100].base, 8,
g_bytes + 1289),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
g_bytes + 1235),
67),
StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[14].base, 12,
g_bytes + 158),
grpc_core::StaticMetadataSlice(&refcounts[101].base, 16,
g_bytes + 1297),
grpc_core::StaticMetadataSlice(&refcounts[100].base, 16,
g_bytes + 1243),
68),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[4].base, 7, g_bytes + 29),
grpc_core::StaticMetadataSlice(&refcounts[102].base, 4,
g_bytes + 1313),
grpc_core::StaticMetadataSlice(&refcounts[101].base, 4,
g_bytes + 1259),
69),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[1].base, 7, g_bytes + 5),
grpc_core::StaticMetadataSlice(&refcounts[103].base, 3,
g_bytes + 1317),
grpc_core::StaticMetadataSlice(&refcounts[102].base, 3,
g_bytes + 1263),
70),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
@ -644,66 +633,66 @@ struct StaticMetadataCtx {
71),
StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[15].base, 16,
g_bytes + 170),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
g_bytes + 1281),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
g_bytes + 1227),
72),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[15].base, 16,
g_bytes + 170),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 4, g_bytes + 735),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
73),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[104].base, 11,
g_bytes + 1320),
grpc_core::StaticMetadataSlice(&refcounts[103].base, 11,
g_bytes + 1266),
grpc_core::StaticMetadataSlice(&refcounts[29].base, 0, g_bytes + 373),
74),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
g_bytes + 1281),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
g_bytes + 1227),
75),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 7, g_bytes + 728),
grpc_core::StaticMetadataSlice(&refcounts[38].base, 7, g_bytes + 674),
76),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[105].base, 16,
g_bytes + 1331),
grpc_core::StaticMetadataSlice(&refcounts[104].base, 16,
g_bytes + 1277),
77),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 4, g_bytes + 735),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
78),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[106].base, 13,
g_bytes + 1347),
grpc_core::StaticMetadataSlice(&refcounts[105].base, 13,
g_bytes + 1293),
79),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[107].base, 12,
g_bytes + 1360),
grpc_core::StaticMetadataSlice(&refcounts[106].base, 12,
g_bytes + 1306),
80),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[10].base, 20, g_bytes + 90),
grpc_core::StaticMetadataSlice(&refcounts[108].base, 21,
g_bytes + 1372),
grpc_core::StaticMetadataSlice(&refcounts[107].base, 21,
g_bytes + 1318),
81),
StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
g_bytes + 186),
grpc_core::StaticMetadataSlice(&refcounts[99].base, 8,
g_bytes + 1281),
grpc_core::StaticMetadataSlice(&refcounts[98].base, 8,
g_bytes + 1227),
82),
StaticMetadata(
grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
g_bytes + 186),
grpc_core::StaticMetadataSlice(&refcounts[40].base, 4, g_bytes + 735),
grpc_core::StaticMetadataSlice(&refcounts[39].base, 4, g_bytes + 681),
83),
StaticMetadata(grpc_core::StaticMetadataSlice(&refcounts[16].base, 15,
g_bytes + 186),
grpc_core::StaticMetadataSlice(&refcounts[106].base, 13,
g_bytes + 1347),
grpc_core::StaticMetadataSlice(&refcounts[105].base, 13,
g_bytes + 1293),
84),
};
@ -1189,17 +1178,17 @@ uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 6, 6, 8, 8, 2, 4, 4};
static const int8_t elems_r[] = {
15, 10, -8, 0, 2, -43, -81, -44, 0, 4, -8, 0, 0, 0, 6, -1,
-8, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -67, 0, -38, -50, -56, -76, 0, 46, 28,
27, 26, 25, 24, 23, 23, 22, 21, 20, 19, 24, 16, 15, 14, 13, 15,
14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 6, 5, 4, 3, 2, 3,
2, 2, 6, 0, 0, 0, 0, 0, 0, -6, 0};
15, 10, -8, 0, 2, -43, -82, -43, 0, 4, -8, 0, 0, 0, 8, -2,
-9, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -66, 0, -69, -70, -51, -73, 0, 32, 31, 30,
30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 16,
15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 3, 2,
2, 7, 0, 0, 0, 0, 0, 0, -6, 0};
static uint32_t elems_phash(uint32_t i) {
i -= 44;
uint32_t x = i % 107;
uint32_t y = i / 107;
i -= 43;
uint32_t x = i % 106;
uint32_t y = i / 106;
uint32_t h = x;
if (y < GPR_ARRAY_SIZE(elems_r)) {
uint32_t delta = (uint32_t)elems_r[y];
@ -1209,26 +1198,25 @@ static uint32_t elems_phash(uint32_t i) {
}
static const uint16_t elem_keys[] = {
266, 267, 268, 269, 270, 271, 272, 1129, 1130, 1773, 151,
152, 482, 483, 1664, 44, 45, 1020, 1021, 1555, 1784, 788,
789, 645, 861, 1675, 2100, 2209, 6024, 6569, 6787, 6896, 7005,
7114, 7223, 7332, 1800, 7441, 7550, 7659, 7768, 7877, 8095, 8204,
8313, 8422, 6678, 6460, 7986, 8531, 8640, 6351, 8749, 8858, 8967,
9076, 9185, 9294, 9403, 9512, 9621, 6242, 9730, 9839, 9948, 10057,
10166, 1189, 538, 10275, 10384, 212, 10493, 1195, 1196, 1197, 1198,
1080, 10602, 1843, 11365, 0, 0, 0, 1734, 0, 1850, 0,
0, 0, 356, 1627};
263, 264, 265, 266, 267, 268, 269, 1118, 1119, 1757, 149, 150,
477, 478, 1649, 43, 44, 1010, 1011, 1767, 781, 782, 1541, 639,
1659, 853, 2081, 2189, 5861, 6077, 6185, 6401, 6509, 6617, 6725, 1783,
6833, 6941, 7049, 7157, 7265, 7373, 7481, 7589, 7697, 7805, 7913, 8021,
8129, 8237, 8345, 6293, 8453, 8561, 8669, 8777, 8885, 8993, 9101, 9209,
9317, 9425, 9533, 9641, 9749, 9857, 9965, 1178, 533, 10073, 10181, 210,
10289, 1184, 1185, 1186, 1187, 1070, 1826, 10397, 11153, 0, 0, 1718,
0, 1833, 0, 0, 0, 0, 353, 0, 0, 1612};
static const uint8_t elem_idxs[] = {
7, 8, 9, 10, 11, 12, 13, 76, 78, 71, 1, 2, 5, 6, 25, 3,
4, 66, 65, 30, 83, 62, 63, 67, 61, 73, 57, 37, 14, 19, 21, 22,
23, 24, 26, 27, 15, 28, 29, 31, 32, 33, 35, 36, 38, 39, 20, 18,
34, 40, 41, 17, 42, 43, 44, 45, 46, 47, 48, 49, 50, 16, 51, 52,
53, 54, 55, 75, 69, 56, 58, 70, 59, 77, 79, 80, 81, 64, 60, 82,
74, 255, 255, 255, 72, 255, 84, 255, 255, 255, 0, 68};
7, 8, 9, 10, 11, 12, 13, 76, 78, 71, 1, 2, 5, 6, 25, 3,
4, 66, 65, 83, 62, 63, 30, 67, 73, 61, 57, 37, 14, 16, 17, 19,
20, 21, 22, 15, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36,
38, 39, 40, 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 75, 69, 56, 58, 70, 59, 77, 79, 80, 81, 64, 82, 60,
74, 255, 255, 72, 255, 84, 255, 255, 255, 255, 0, 255, 255, 68};
grpc_mdelem grpc_static_mdelem_for_static_strings(intptr_t a, intptr_t b) {
if (a == -1 || b == -1) return GRPC_MDNULL;
uint32_t k = static_cast<uint32_t>(a * 109 + b);
uint32_t k = static_cast<uint32_t>(a * 108 + b);
uint32_t h = elems_phash(k);
return h < GPR_ARRAY_SIZE(elem_keys) && elem_keys[h] == k &&
elem_idxs[h] != 255

@ -36,7 +36,7 @@
static_assert(
std::is_trivially_destructible<grpc_core::StaticMetadataSlice>::value,
"grpc_core::StaticMetadataSlice must be trivially destructible.");
#define GRPC_STATIC_MDSTR_COUNT 109
#define GRPC_STATIC_MDSTR_COUNT 108
void grpc_init_static_metadata_ctx(void);
void grpc_destroy_static_metadata_ctx(void);
@ -132,157 +132,154 @@ inline const grpc_core::StaticMetadataSlice* grpc_static_slice_table() {
/* "/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats" */
#define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V2_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS \
(grpc_static_slice_table()[35])
/* "/envoy.api.v2.EndpointDiscoveryService/StreamEndpoints" */
#define GRPC_MDSTR_SLASH_ENVOY_DOT_API_DOT_V2_DOT_ENDPOINTDISCOVERYSERVICE_SLASH_STREAMENDPOINTS \
(grpc_static_slice_table()[36])
/* "/grpc.health.v1.Health/Watch" */
#define GRPC_MDSTR_SLASH_GRPC_DOT_HEALTH_DOT_V1_DOT_HEALTH_SLASH_WATCH \
(grpc_static_slice_table()[37])
(grpc_static_slice_table()[36])
/* "/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources"
*/
#define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES \
(grpc_static_slice_table()[38])
(grpc_static_slice_table()[37])
/* "deflate" */
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table()[39])
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table()[38])
/* "gzip" */
#define GRPC_MDSTR_GZIP (grpc_static_slice_table()[40])
#define GRPC_MDSTR_GZIP (grpc_static_slice_table()[39])
/* "stream/gzip" */
#define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table()[41])
#define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table()[40])
/* "GET" */
#define GRPC_MDSTR_GET (grpc_static_slice_table()[42])
#define GRPC_MDSTR_GET (grpc_static_slice_table()[41])
/* "POST" */
#define GRPC_MDSTR_POST (grpc_static_slice_table()[43])
#define GRPC_MDSTR_POST (grpc_static_slice_table()[42])
/* "/" */
#define GRPC_MDSTR_SLASH (grpc_static_slice_table()[44])
#define GRPC_MDSTR_SLASH (grpc_static_slice_table()[43])
/* "/index.html" */
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table()[45])
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table()[44])
/* "http" */
#define GRPC_MDSTR_HTTP (grpc_static_slice_table()[46])
#define GRPC_MDSTR_HTTP (grpc_static_slice_table()[45])
/* "https" */
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table()[47])
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table()[46])
/* "200" */
#define GRPC_MDSTR_200 (grpc_static_slice_table()[48])
#define GRPC_MDSTR_200 (grpc_static_slice_table()[47])
/* "204" */
#define GRPC_MDSTR_204 (grpc_static_slice_table()[49])
#define GRPC_MDSTR_204 (grpc_static_slice_table()[48])
/* "206" */
#define GRPC_MDSTR_206 (grpc_static_slice_table()[50])
#define GRPC_MDSTR_206 (grpc_static_slice_table()[49])
/* "304" */
#define GRPC_MDSTR_304 (grpc_static_slice_table()[51])
#define GRPC_MDSTR_304 (grpc_static_slice_table()[50])
/* "400" */
#define GRPC_MDSTR_400 (grpc_static_slice_table()[52])
#define GRPC_MDSTR_400 (grpc_static_slice_table()[51])
/* "404" */
#define GRPC_MDSTR_404 (grpc_static_slice_table()[53])
#define GRPC_MDSTR_404 (grpc_static_slice_table()[52])
/* "500" */
#define GRPC_MDSTR_500 (grpc_static_slice_table()[54])
#define GRPC_MDSTR_500 (grpc_static_slice_table()[53])
/* "accept-charset" */
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table()[55])
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table()[54])
/* "gzip, deflate" */
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table()[56])
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table()[55])
/* "accept-language" */
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table()[57])
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table()[56])
/* "accept-ranges" */
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table()[58])
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table()[57])
/* "accept" */
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table()[59])
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table()[58])
/* "access-control-allow-origin" */
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table()[60])
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table()[59])
/* "age" */
#define GRPC_MDSTR_AGE (grpc_static_slice_table()[61])
#define GRPC_MDSTR_AGE (grpc_static_slice_table()[60])
/* "allow" */
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table()[62])
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table()[61])
/* "authorization" */
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table()[63])
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table()[62])
/* "cache-control" */
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table()[64])
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table()[63])
/* "content-disposition" */
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table()[65])
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table()[64])
/* "content-language" */
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table()[66])
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table()[65])
/* "content-length" */
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table()[67])
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table()[66])
/* "content-location" */
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table()[68])
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table()[67])
/* "content-range" */
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table()[69])
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table()[68])
/* "cookie" */
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table()[70])
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table()[69])
/* "date" */
#define GRPC_MDSTR_DATE (grpc_static_slice_table()[71])
#define GRPC_MDSTR_DATE (grpc_static_slice_table()[70])
/* "etag" */
#define GRPC_MDSTR_ETAG (grpc_static_slice_table()[72])
#define GRPC_MDSTR_ETAG (grpc_static_slice_table()[71])
/* "expect" */
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table()[73])
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table()[72])
/* "expires" */
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table()[74])
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table()[73])
/* "from" */
#define GRPC_MDSTR_FROM (grpc_static_slice_table()[75])
#define GRPC_MDSTR_FROM (grpc_static_slice_table()[74])
/* "if-match" */
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table()[76])
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table()[75])
/* "if-modified-since" */
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table()[77])
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table()[76])
/* "if-none-match" */
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table()[78])
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table()[77])
/* "if-range" */
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table()[79])
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table()[78])
/* "if-unmodified-since" */
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table()[80])
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table()[79])
/* "last-modified" */
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table()[81])
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table()[80])
/* "link" */
#define GRPC_MDSTR_LINK (grpc_static_slice_table()[82])
#define GRPC_MDSTR_LINK (grpc_static_slice_table()[81])
/* "location" */
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table()[83])
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table()[82])
/* "max-forwards" */
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table()[84])
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table()[83])
/* "proxy-authenticate" */
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table()[85])
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table()[84])
/* "proxy-authorization" */
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table()[86])
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table()[85])
/* "range" */
#define GRPC_MDSTR_RANGE (grpc_static_slice_table()[87])
#define GRPC_MDSTR_RANGE (grpc_static_slice_table()[86])
/* "referer" */
#define GRPC_MDSTR_REFERER (grpc_static_slice_table()[88])
#define GRPC_MDSTR_REFERER (grpc_static_slice_table()[87])
/* "refresh" */
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table()[89])
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table()[88])
/* "retry-after" */
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table()[90])
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table()[89])
/* "server" */
#define GRPC_MDSTR_SERVER (grpc_static_slice_table()[91])
#define GRPC_MDSTR_SERVER (grpc_static_slice_table()[90])
/* "set-cookie" */
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table()[92])
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table()[91])
/* "strict-transport-security" */
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table()[93])
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table()[92])
/* "transfer-encoding" */
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table()[94])
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table()[93])
/* "vary" */
#define GRPC_MDSTR_VARY (grpc_static_slice_table()[95])
#define GRPC_MDSTR_VARY (grpc_static_slice_table()[94])
/* "via" */
#define GRPC_MDSTR_VIA (grpc_static_slice_table()[96])
#define GRPC_MDSTR_VIA (grpc_static_slice_table()[95])
/* "www-authenticate" */
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table()[97])
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table()[96])
/* "0" */
#define GRPC_MDSTR_0 (grpc_static_slice_table()[98])
#define GRPC_MDSTR_0 (grpc_static_slice_table()[97])
/* "identity" */
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table()[99])
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table()[98])
/* "trailers" */
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table()[100])
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table()[99])
/* "application/grpc" */
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table()[101])
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table()[100])
/* "grpc" */
#define GRPC_MDSTR_GRPC (grpc_static_slice_table()[102])
#define GRPC_MDSTR_GRPC (grpc_static_slice_table()[101])
/* "PUT" */
#define GRPC_MDSTR_PUT (grpc_static_slice_table()[103])
#define GRPC_MDSTR_PUT (grpc_static_slice_table()[102])
/* "lb-cost-bin" */
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table()[104])
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table()[103])
/* "identity,deflate" */
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table()[105])
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table()[104])
/* "identity,gzip" */
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table()[106])
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table()[105])
/* "deflate,gzip" */
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table()[107])
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table()[106])
/* "identity,deflate,gzip" */
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
(grpc_static_slice_table()[108])
(grpc_static_slice_table()[107])
namespace grpc_core {
struct StaticSliceRefcount;

@ -21,6 +21,15 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
name = "ads_for_test_proto",
srcs = [
"ads_for_test.proto",
],
has_services = True,
deps = ["eds_for_test_proto"],
)
grpc_proto_library(
name = "eds_for_test_proto",
srcs = [

@ -0,0 +1,51 @@
// 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.
// This file contains the eds protocol and its dependency.
//
// TODO(juanlishen): This file is a hack to avoid a problem we're
// currently having where we can't depend on a proto file in an external
// repo due to bazel limitations. Once that's fixed, this should be
// removed. Until this, it should be used in the gRPC tests only, or else it
// will cause a conflict due to the same proto messages being defined in
// multiple files in the same binary.
syntax = "proto3";
package envoy.service.discovery.v2;
import "src/proto/grpc/testing/xds/eds_for_test.proto";
// [#not-implemented-hide:] Discovery services for endpoints, clusters, routes,
// and listeners are retained in the package `envoy.api.v2` for backwards
// compatibility with existing management servers. New development in discovery
// services should proceed in the package `envoy.service.discovery.v2`.
// See https://github.com/lyft/envoy-api#apis for a description of the role of
// ADS and how it is intended to be used by a management server. ADS requests
// have the same structure as their singleton xDS counterparts, but can
// multiplex many resource types on a single stream. The type_url in the
// DiscoveryRequest/DiscoveryResponse provides sufficient information to recover
// the multiplexed singleton APIs at the Envoy instance and management server.
service AggregatedDiscoveryService {
// This is a gRPC-only API.
rpc StreamAggregatedResources(stream envoy.api.v2.DiscoveryRequest)
returns (stream envoy.api.v2.DiscoveryResponse) {
}
// Commented out so that we don't have to copy the request/response protos.
// rpc DeltaAggregatedResources(stream api.v2.DeltaDiscoveryRequest)
// returns (stream api.v2.DeltaDiscoveryResponse) {
// }
}

@ -35,7 +35,6 @@
"\x1Fgrpc.max_response_message_bytes"
"$/grpc.lb.v1.LoadBalancer/BalanceLoad"
"A/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats"
"6/envoy.api.v2.EndpointDiscoveryService/StreamEndpoints"
"\x1C/grpc.health.v1.Health/Watch"
"P/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources"
"\x07deflate"

@ -499,6 +499,7 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpc_resolver_fake",
"//src/proto/grpc/testing/xds:ads_for_test_proto",
"//src/proto/grpc/testing/xds:eds_for_test_proto",
"//src/proto/grpc/testing/xds:lrs_for_test_proto",
"//src/proto/grpc/testing:echo_messages_proto",

File diff suppressed because it is too large Load Diff

@ -65,7 +65,6 @@ CONFIG = [
# well known method names
'/grpc.lb.v1.LoadBalancer/BalanceLoad',
'/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats',
'/envoy.api.v2.EndpointDiscoveryService/StreamEndpoints',
'/grpc.health.v1.Health/Watch',
'/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources',
# compression algorithm names

Loading…
Cancel
Save