Compare commits

..

1 Commits

Author SHA1 Message Date
yashykt c365c7814c Automated change: Fix sanity tests 2024-04-17 01:34:09 +00:00
2110 changed files with 45629 additions and 79881 deletions

8
.gitattributes vendored
View File

@ -29,13 +29,9 @@ tools/run_tests/tests.json linguist-generated=true
tools/run_tests/generated/tests.json linguist-generated=true tools/run_tests/generated/tests.json linguist-generated=true
tools/run_tests/generated/sources_and_headers.json linguist-generated=true tools/run_tests/generated/sources_and_headers.json linguist-generated=true
src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h linguist-generated=true src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h linguist-generated=true
src/core/telemetry/stats_data.h linguist-generated=true src/core/lib/debug/stats_data.h linguist-generated=true
src/core/telemetry/stats_data.cc linguist-generated=true src/core/lib/debug/stats_data.cc linguist-generated=true
src/core/lib/experiments/experiments.h linguist-generated=true src/core/lib/experiments/experiments.h linguist-generated=true
src/core/lib/experiments/experiments.cc linguist-generated=true src/core/lib/experiments/experiments.cc linguist-generated=true
bazel/experiments.bzl linguist-generated=true bazel/experiments.bzl linguist-generated=true
test/cpp/microbenchmarks/huffman_geometries/** linguist-generated=true test/cpp/microbenchmarks/huffman_geometries/** linguist-generated=true
doc/trace_flags.md linguist-generated=true
src/core/lib/debug/trace_flags.h linguist-generated=true
src/core/lib/debug/trace_flags.cc linguist-generated=true
src/python/grpcio_observability/observability_lib_deps.py linguist-generated=true

11
.github/CODEOWNERS vendored
View File

@ -1,12 +1,11 @@
/**/OWNERS @markdroth @a11r
/bazel/** @veblush @gnossen /bazel/** @veblush @gnossen
/bazel/experiments.yaml /bazel/experiments.yaml
/cmake/** @veblush @apolcyn /cmake/** @veblush @apolcyn
/src/core/client_channel/** @markdroth /src/core/ext/filters/client_channel/** @markdroth
/src/core/ext/transport/chttp2/transport/** @ctiller /src/core/ext/transport/chttp2/transport/** @ctiller
/src/core/load_balancing/** @markdroth /src/core/ext/xds/** @markdroth
/src/core/resolver/** @markdroth /src/core/lib/resolver/** @markdroth
/src/core/server/xds* @markdroth /src/core/lib/service_config/** @markdroth
/src/core/service_config/** @markdroth
/src/core/xds/** @markdroth
/tools/dockerfile/** @drfloob @apolcyn @gnossen /tools/dockerfile/** @drfloob @apolcyn @gnossen
/tools/run_tests/xds_k8s_test_driver/** @sergiitk @XuanWang-Amos @gnossen /tools/run_tests/xds_k8s_test_driver/** @sergiitk @XuanWang-Amos @gnossen

View File

@ -22,7 +22,7 @@ jobs:
with: with:
format: YYYYWWd format: YYYYWWd
- name: Cache bazel - name: Cache bazel
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
env: env:
cache-name: bazel-cache cache-name: bazel-cache
with: with:
@ -48,13 +48,13 @@ jobs:
with: with:
script: | script: |
// If you'd like not to run this code on your commits, add your github user id here: // If you'd like not to run this code on your commits, add your github user id here:
const NO_AUTOFIX_USERS = ["copybara-service[bot]"]; NO_AUTOFIX_USERS = ["copybara-service[bot]"]
const { owner, repo } = context.repo; const { owner, repo } = context.repo
console.log("Actor: " + context.actor); console.log("Actor: " + context.actor);
if (NO_AUTOFIX_USERS.includes(context.actor)) { if (NO_AUTOFIX_USERS.includes(context.actor)) {
console.log('Cancelling'); console.log('Cancelling');
const run_id = "${{ github.run_id }}"; const run_id = "${{ github.run_id }}";
await github.rest.actions.cancelWorkflowRun({ owner, repo, run_id }); await github.actions.cancelWorkflowRun({ owner, repo, run_id });
return 'go'; return 'go';
} else { } else {
return 'stay'; return 'stay';
@ -66,7 +66,7 @@ jobs:
run: test "${{ steps.check.outputs.result }}" = "stay" run: test "${{ steps.check.outputs.result }}" = "stay"
# Setup to run sanity suite # Setup to run sanity suite
- name: Install Python Interpreter - name: Install Python Interpreter
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with: with:
python-version: 3.8 python-version: 3.8
- name: Install Python Packages - name: Install Python Packages
@ -75,7 +75,7 @@ jobs:
sudo apt-get update sudo apt-get update
sudo apt-get install python3-dev sudo apt-get install python3-dev
- name: Check out repository code - name: Check out repository code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with: with:
submodules: True submodules: True
- name: Get the upstream code - name: Get the upstream code
@ -90,7 +90,7 @@ jobs:
run: ANDROID_NDK_HOME= ${{ github.workspace }}/tools/distrib/sanitize.sh run: ANDROID_NDK_HOME= ${{ github.workspace }}/tools/distrib/sanitize.sh
# Report back with a PR if things are broken # Report back with a PR if things are broken
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6.0.5 uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
with: with:
delete-branch: true delete-branch: true
branch-suffix: short-commit-hash branch-suffix: short-commit-hash

536
BUILD

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,7 @@ let package = Package(
], ],
sources: [ sources: [
"err_data.c",
"src/crypto/asn1/a_bitstr.c", "src/crypto/asn1/a_bitstr.c",
"src/crypto/asn1/a_bool.c", "src/crypto/asn1/a_bool.c",
"src/crypto/asn1/a_d2i_fp.c", "src/crypto/asn1/a_d2i_fp.c",
@ -104,7 +105,6 @@ let package = Package(
"src/crypto/dh_extra/dh_asn1.c", "src/crypto/dh_extra/dh_asn1.c",
"src/crypto/dh_extra/params.c", "src/crypto/dh_extra/params.c",
"src/crypto/digest_extra/digest_extra.c", "src/crypto/digest_extra/digest_extra.c",
"src/crypto/dilithium/dilithium.c",
"src/crypto/dsa/dsa.c", "src/crypto/dsa/dsa.c",
"src/crypto/dsa/dsa_asn1.c", "src/crypto/dsa/dsa_asn1.c",
"src/crypto/ec_extra/ec_asn1.c", "src/crypto/ec_extra/ec_asn1.c",
@ -117,8 +117,6 @@ let package = Package(
"src/crypto/evp/evp.c", "src/crypto/evp/evp.c",
"src/crypto/evp/evp_asn1.c", "src/crypto/evp/evp_asn1.c",
"src/crypto/evp/evp_ctx.c", "src/crypto/evp/evp_ctx.c",
"src/crypto/evp/p_dh.c",
"src/crypto/evp/p_dh_asn1.c",
"src/crypto/evp/p_dsa_asn1.c", "src/crypto/evp/p_dsa_asn1.c",
"src/crypto/evp/p_ec.c", "src/crypto/evp/p_ec.c",
"src/crypto/evp/p_ec_asn1.c", "src/crypto/evp/p_ec_asn1.c",
@ -260,7 +258,6 @@ let package = Package(
"src/crypto/x509/x_val.c", "src/crypto/x509/x_val.c",
"src/crypto/x509/x_x509.c", "src/crypto/x509/x_x509.c",
"src/crypto/x509/x_x509a.c", "src/crypto/x509/x_x509a.c",
"src/gen/crypto/err_data.c",
"src/ssl/bio_ssl.cc", "src/ssl/bio_ssl.cc",
"src/ssl/d1_both.cc", "src/ssl/d1_both.cc",
"src/ssl/d1_lib.cc", "src/ssl/d1_lib.cc",
@ -282,7 +279,6 @@ let package = Package(
"src/ssl/ssl_buffer.cc", "src/ssl/ssl_buffer.cc",
"src/ssl/ssl_cert.cc", "src/ssl/ssl_cert.cc",
"src/ssl/ssl_cipher.cc", "src/ssl/ssl_cipher.cc",
"src/ssl/ssl_credential.cc",
"src/ssl/ssl_file.cc", "src/ssl/ssl_file.cc",
"src/ssl/ssl_key_share.cc", "src/ssl/ssl_key_share.cc",
"src/ssl/ssl_lib.cc", "src/ssl/ssl_lib.cc",

4083
CMakeLists.txt generated

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,6 @@ for general contribution guidelines.
- [pfreixes](https://github.com/pfreixes), Skyscanner Ltd - [pfreixes](https://github.com/pfreixes), Skyscanner Ltd
- [ran-su](https://github.com/ran-su), Google LLC - [ran-su](https://github.com/ran-su), Google LLC
- [sanjaypujare](https://github.com/sanjaypujare), Google LLC - [sanjaypujare](https://github.com/sanjaypujare), Google LLC
- [sastryvp](https://github.com/sastryvp), Google LLC
- [sergiitk](https://github.com/sergiitk), Google LLC - [sergiitk](https://github.com/sergiitk), Google LLC
- [soheilhy](https://github.com/soheilhy), Google LLC - [soheilhy](https://github.com/soheilhy), Google LLC
- [stanley-cheung](https://github.com/stanley-cheung), Google LLC - [stanley-cheung](https://github.com/stanley-cheung), Google LLC
@ -41,7 +40,6 @@ for general contribution guidelines.
- [vishalpowar](https://github.com/vishalpowar), Google LLC - [vishalpowar](https://github.com/vishalpowar), Google LLC
- [wenbozhu](https://github.com/wenbozhu), Google LLC - [wenbozhu](https://github.com/wenbozhu), Google LLC
- [yashykt](https://github.com/yashykt), Google LLC - [yashykt](https://github.com/yashykt), Google LLC
- [yijiem](https://github.com/yijiem), Google LLC
- [ZhouyihaiDing](https://github.com/ZhouyihaiDing), Google LLC - [ZhouyihaiDing](https://github.com/ZhouyihaiDing), Google LLC
<!-- go/keep-sorted end --> <!-- go/keep-sorted end -->

207
Makefile generated
View File

@ -367,8 +367,8 @@ E = @echo
Q = @ Q = @
endif endif
CORE_VERSION = 42.0.0 CORE_VERSION = 40.0.0
CPP_VERSION = 1.65.0-dev CPP_VERSION = 1.64.0-dev
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES)) CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS) CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
SHARED_EXT_CPP = dll SHARED_EXT_CPP = dll
SHARED_PREFIX = SHARED_PREFIX =
SHARED_VERSION_CORE = -42 SHARED_VERSION_CORE = -40
SHARED_VERSION_CPP = -1 SHARED_VERSION_CPP = -1
else ifeq ($(SYSTEM),Darwin) else ifeq ($(SYSTEM),Darwin)
EXECUTABLE_SUFFIX = EXECUTABLE_SUFFIX =
@ -666,11 +666,8 @@ clean:
# deps: ['cares', 'libssl', 'z'] # deps: ['cares', 'libssl', 'z']
# transitive_deps: ['cares', 'libssl', 'z'] # transitive_deps: ['cares', 'libssl', 'z']
LIBGRPC_SRC = \ LIBGRPC_SRC = \
src/core/channelz/channel_trace.cc \
src/core/channelz/channelz.cc \
src/core/channelz/channelz_registry.cc \
src/core/client_channel/backup_poller.cc \ src/core/client_channel/backup_poller.cc \
src/core/client_channel/client_channel.cc \ src/core/client_channel/client_channel_channelz.cc \
src/core/client_channel/client_channel_factory.cc \ src/core/client_channel/client_channel_factory.cc \
src/core/client_channel/client_channel_filter.cc \ src/core/client_channel/client_channel_filter.cc \
src/core/client_channel/client_channel_plugin.cc \ src/core/client_channel/client_channel_plugin.cc \
@ -678,7 +675,7 @@ LIBGRPC_SRC = \
src/core/client_channel/config_selector.cc \ src/core/client_channel/config_selector.cc \
src/core/client_channel/dynamic_filters.cc \ src/core/client_channel/dynamic_filters.cc \
src/core/client_channel/global_subchannel_pool.cc \ src/core/client_channel/global_subchannel_pool.cc \
src/core/client_channel/load_balanced_call_destination.cc \ src/core/client_channel/http_proxy_mapper.cc \
src/core/client_channel/local_subchannel_pool.cc \ src/core/client_channel/local_subchannel_pool.cc \
src/core/client_channel/retry_filter.cc \ src/core/client_channel/retry_filter.cc \
src/core/client_channel/retry_filter_legacy_call_data.cc \ src/core/client_channel/retry_filter_legacy_call_data.cc \
@ -691,6 +688,7 @@ LIBGRPC_SRC = \
src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/census/grpc_context.cc \
src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/idle_filter_state.cc \
src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
src/core/ext/filters/deadline/deadline_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
src/core/ext/filters/http/client/http_client_filter.cc \ src/core/ext/filters/http/client/http_client_filter.cc \
@ -701,8 +699,10 @@ LIBGRPC_SRC = \
src/core/ext/filters/message_size/message_size_filter.cc \ src/core/ext/filters/message_size/message_size_filter.cc \
src/core/ext/filters/rbac/rbac_filter.cc \ src/core/ext/filters/rbac/rbac_filter.cc \
src/core/ext/filters/rbac/rbac_service_config_parser.cc \ src/core/ext/filters/rbac/rbac_service_config_parser.cc \
src/core/ext/filters/server_config_selector/server_config_selector_filter.cc \
src/core/ext/filters/stateful_session/stateful_session_filter.cc \ src/core/ext/filters/stateful_session/stateful_session_filter.cc \
src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc \ src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc \
src/core/ext/gcp/metadata_query.cc \
src/core/ext/transport/chttp2/alpn/alpn.cc \ src/core/ext/transport/chttp2/alpn/alpn.cc \
src/core/ext/transport/chttp2/client/chttp2_connector.cc \ src/core/ext/transport/chttp2/client/chttp2_connector.cc \
src/core/ext/transport/chttp2/server/chttp2_server.cc \ src/core/ext/transport/chttp2/server/chttp2_server.cc \
@ -724,6 +724,7 @@ LIBGRPC_SRC = \
src/core/ext/transport/chttp2/transport/hpack_parser.cc \ src/core/ext/transport/chttp2/transport/hpack_parser.cc \
src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \ src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \
src/core/ext/transport/chttp2/transport/http2_settings.cc \ src/core/ext/transport/chttp2/transport/http2_settings.cc \
src/core/ext/transport/chttp2/transport/http_trace.cc \
src/core/ext/transport/chttp2/transport/huffsyms.cc \ src/core/ext/transport/chttp2/transport/huffsyms.cc \
src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \ src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \
src/core/ext/transport/chttp2/transport/parsing.cc \ src/core/ext/transport/chttp2/transport/parsing.cc \
@ -734,6 +735,7 @@ LIBGRPC_SRC = \
src/core/ext/transport/chttp2/transport/varint.cc \ src/core/ext/transport/chttp2/transport/varint.cc \
src/core/ext/transport/chttp2/transport/write_size_policy.cc \ src/core/ext/transport/chttp2/transport/write_size_policy.cc \
src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/chttp2/transport/writing.cc \
src/core/ext/transport/inproc/inproc_plugin.cc \
src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.cc \
src/core/ext/transport/inproc/legacy_inproc_transport.cc \ src/core/ext/transport/inproc/legacy_inproc_transport.cc \
src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \ src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
@ -1053,26 +1055,50 @@ LIBGRPC_SRC = \
src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \
src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc \ src/core/ext/xds/certificate_provider_store.cc \
src/core/handshaker/handshaker.cc \ src/core/ext/xds/file_watcher_certificate_provider_factory.cc \
src/core/handshaker/handshaker_registry.cc \ src/core/ext/xds/xds_api.cc \
src/core/handshaker/http_connect/http_connect_handshaker.cc \ src/core/ext/xds/xds_audit_logger_registry.cc \
src/core/handshaker/http_connect/http_proxy_mapper.cc \ src/core/ext/xds/xds_bootstrap.cc \
src/core/handshaker/proxy_mapper_registry.cc \ src/core/ext/xds/xds_bootstrap_grpc.cc \
src/core/handshaker/security/secure_endpoint.cc \ src/core/ext/xds/xds_certificate_provider.cc \
src/core/handshaker/security/security_handshaker.cc \ src/core/ext/xds/xds_channel_stack_modifier.cc \
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \ src/core/ext/xds/xds_client.cc \
src/core/ext/xds/xds_client_grpc.cc \
src/core/ext/xds/xds_client_stats.cc \
src/core/ext/xds/xds_cluster.cc \
src/core/ext/xds/xds_cluster_specifier_plugin.cc \
src/core/ext/xds/xds_common_types.cc \
src/core/ext/xds/xds_endpoint.cc \
src/core/ext/xds/xds_health_status.cc \
src/core/ext/xds/xds_http_fault_filter.cc \
src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_listener.cc \
src/core/ext/xds/xds_route_config.cc \
src/core/ext/xds/xds_routing.cc \
src/core/ext/xds/xds_server_config_fetcher.cc \
src/core/ext/xds/xds_transport_grpc.cc \
src/core/lib/address_utils/parse_address.cc \ src/core/lib/address_utils/parse_address.cc \
src/core/lib/address_utils/sockaddr_utils.cc \ src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \ src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \ src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/call_tracer.cc \
src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \ src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack.cc \
src/core/lib/channel/channel_stack_builder.cc \ src/core/lib/channel/channel_stack_builder.cc \
src/core/lib/channel/channel_stack_builder_impl.cc \ src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/channel_trace.cc \
src/core/lib/channel/channelz.cc \
src/core/lib/channel/channelz_registry.cc \
src/core/lib/channel/connected_channel.cc \ src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \ src/core/lib/channel/promise_based_filter.cc \
src/core/lib/channel/server_call_tracer_filter.cc \
src/core/lib/channel/status_util.cc \ src/core/lib/channel/status_util.cc \
src/core/lib/compression/compression.cc \ src/core/lib/compression/compression.cc \
src/core/lib/compression/compression_internal.cc \ src/core/lib/compression/compression_internal.cc \
@ -1082,8 +1108,10 @@ LIBGRPC_SRC = \
src/core/lib/config/core_configuration.cc \ src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \ src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \ src/core/lib/debug/event_log.cc \
src/core/lib/debug/histogram_view.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \ src/core/lib/debug/trace.cc \
src/core/lib/debug/trace_flags.cc \
src/core/lib/event_engine/ares_resolver.cc \ src/core/lib/event_engine/ares_resolver.cc \
src/core/lib/event_engine/cf_engine/cf_engine.cc \ src/core/lib/event_engine/cf_engine/cf_engine.cc \
src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
@ -1122,6 +1150,7 @@ LIBGRPC_SRC = \
src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \ src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \
src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc \ src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc \
src/core/lib/event_engine/time_util.cc \ src/core/lib/event_engine/time_util.cc \
src/core/lib/event_engine/trace.cc \
src/core/lib/event_engine/utils.cc \ src/core/lib/event_engine/utils.cc \
src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc \ src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc \
src/core/lib/event_engine/windows/iocp.cc \ src/core/lib/event_engine/windows/iocp.cc \
@ -1133,11 +1162,35 @@ LIBGRPC_SRC = \
src/core/lib/event_engine/work_queue/basic_work_queue.cc \ src/core/lib/event_engine/work_queue/basic_work_queue.cc \
src/core/lib/experiments/config.cc \ src/core/lib/experiments/config.cc \
src/core/lib/experiments/experiments.cc \ src/core/lib/experiments/experiments.cc \
src/core/lib/gpr/alloc.cc \
src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
src/core/lib/gpr/iphone/cpu.cc \
src/core/lib/gpr/linux/cpu.cc \
src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
src/core/lib/gpr/msys/tmpfile.cc \
src/core/lib/gpr/posix/cpu.cc \
src/core/lib/gpr/posix/log.cc \
src/core/lib/gpr/posix/string.cc \
src/core/lib/gpr/posix/sync.cc \
src/core/lib/gpr/posix/time.cc \
src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/string.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
src/core/lib/gpr/time.cc \
src/core/lib/gpr/time_precise.cc \
src/core/lib/gpr/windows/cpu.cc \
src/core/lib/gpr/windows/log.cc \
src/core/lib/gpr/windows/string.cc \
src/core/lib/gpr/windows/string_util.cc \
src/core/lib/gpr/windows/sync.cc \
src/core/lib/gpr/windows/time.cc \
src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gprpp/crash.cc \ src/core/lib/gprpp/crash.cc \
src/core/lib/gprpp/dump_args.cc \
src/core/lib/gprpp/examine_stack.cc \ src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \ src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/glob.cc \
src/core/lib/gprpp/host_port.cc \ src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/linux/env.cc \ src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \ src/core/lib/gprpp/load_file.cc \
@ -1161,6 +1214,11 @@ LIBGRPC_SRC = \
src/core/lib/gprpp/windows/stat.cc \ src/core/lib/gprpp/windows/stat.cc \
src/core/lib/gprpp/windows/thd.cc \ src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \ src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
src/core/lib/http/httpcli.cc \
src/core/lib/http/httpcli_security_connector.cc \
src/core/lib/http/parser.cc \
src/core/lib/iomgr/buffer_list.cc \ src/core/lib/iomgr/buffer_list.cc \
src/core/lib/iomgr/call_combiner.cc \ src/core/lib/iomgr/call_combiner.cc \
src/core/lib/iomgr/cfstream_handle.cc \ src/core/lib/iomgr/cfstream_handle.cc \
@ -1177,6 +1235,7 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/ev_epoll1_linux.cc \ src/core/lib/iomgr/ev_epoll1_linux.cc \
src/core/lib/iomgr/ev_poll_posix.cc \ src/core/lib/iomgr/ev_poll_posix.cc \
src/core/lib/iomgr/ev_posix.cc \ src/core/lib/iomgr/ev_posix.cc \
src/core/lib/iomgr/ev_windows.cc \
src/core/lib/iomgr/event_engine_shims/closure.cc \ src/core/lib/iomgr/event_engine_shims/closure.cc \
src/core/lib/iomgr/event_engine_shims/endpoint.cc \ src/core/lib/iomgr/event_engine_shims/endpoint.cc \
src/core/lib/iomgr/event_engine_shims/tcp_client.cc \ src/core/lib/iomgr/event_engine_shims/tcp_client.cc \
@ -1237,10 +1296,15 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/wakeup_fd_nospecial.cc \ src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \ src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \ src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/json/json_object_loader.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/matchers/matchers.cc \ src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \ src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \ src/core/lib/promise/party.cc \
src/core/lib/promise/sleep.cc \ src/core/lib/promise/sleep.cc \
src/core/lib/promise/trace.cc \
src/core/lib/resource_quota/api.cc \ src/core/lib/resource_quota/api.cc \
src/core/lib/resource_quota/arena.cc \ src/core/lib/resource_quota/arena.cc \
src/core/lib/resource_quota/connection_quota.cc \ src/core/lib/resource_quota/connection_quota.cc \
@ -1248,6 +1312,7 @@ LIBGRPC_SRC = \
src/core/lib/resource_quota/periodic_update.cc \ src/core/lib/resource_quota/periodic_update.cc \
src/core/lib/resource_quota/resource_quota.cc \ src/core/lib/resource_quota/resource_quota.cc \
src/core/lib/resource_quota/thread_quota.cc \ src/core/lib/resource_quota/thread_quota.cc \
src/core/lib/resource_quota/trace.cc \
src/core/lib/security/authorization/audit_logging.cc \ src/core/lib/security/authorization/audit_logging.cc \
src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \ src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \
src/core/lib/security/authorization/evaluate_args.cc \ src/core/lib/security/authorization/evaluate_args.cc \
@ -1308,49 +1373,57 @@ LIBGRPC_SRC = \
src/core/lib/security/security_connector/ssl_utils.cc \ src/core/lib/security/security_connector/ssl_utils.cc \
src/core/lib/security/security_connector/tls/tls_security_connector.cc \ src/core/lib/security/security_connector/tls/tls_security_connector.cc \
src/core/lib/security/transport/client_auth_filter.cc \ src/core/lib/security/transport/client_auth_filter.cc \
src/core/lib/security/transport/secure_endpoint.cc \
src/core/lib/security/transport/security_handshaker.cc \
src/core/lib/security/transport/server_auth_filter.cc \ src/core/lib/security/transport/server_auth_filter.cc \
src/core/lib/security/transport/tsi_error.cc \
src/core/lib/security/util/json_util.cc \ src/core/lib/security/util/json_util.cc \
src/core/lib/slice/percent_encoding.cc \ src/core/lib/slice/percent_encoding.cc \
src/core/lib/slice/slice.cc \ src/core/lib/slice/slice.cc \
src/core/lib/slice/slice_buffer.cc \ src/core/lib/slice/slice_buffer.cc \
src/core/lib/slice/slice_refcount.cc \
src/core/lib/slice/slice_string_helpers.cc \ src/core/lib/slice/slice_string_helpers.cc \
src/core/lib/surface/api_trace.cc \
src/core/lib/surface/byte_buffer.cc \ src/core/lib/surface/byte_buffer.cc \
src/core/lib/surface/byte_buffer_reader.cc \ src/core/lib/surface/byte_buffer_reader.cc \
src/core/lib/surface/call.cc \ src/core/lib/surface/call.cc \
src/core/lib/surface/call_details.cc \ src/core/lib/surface/call_details.cc \
src/core/lib/surface/call_log_batch.cc \ src/core/lib/surface/call_log_batch.cc \
src/core/lib/surface/call_utils.cc \
src/core/lib/surface/channel.cc \ src/core/lib/surface/channel.cc \
src/core/lib/surface/channel_create.cc \ src/core/lib/surface/channel_create.cc \
src/core/lib/surface/channel_init.cc \ src/core/lib/surface/channel_init.cc \
src/core/lib/surface/channel_stack_type.cc \ src/core/lib/surface/channel_stack_type.cc \
src/core/lib/surface/client_call.cc \
src/core/lib/surface/completion_queue.cc \ src/core/lib/surface/completion_queue.cc \
src/core/lib/surface/completion_queue_factory.cc \ src/core/lib/surface/completion_queue_factory.cc \
src/core/lib/surface/event_string.cc \ src/core/lib/surface/event_string.cc \
src/core/lib/surface/filter_stack_call.cc \
src/core/lib/surface/init.cc \ src/core/lib/surface/init.cc \
src/core/lib/surface/init_internally.cc \ src/core/lib/surface/init_internally.cc \
src/core/lib/surface/lame_client.cc \ src/core/lib/surface/lame_client.cc \
src/core/lib/surface/legacy_channel.cc \ src/core/lib/surface/legacy_channel.cc \
src/core/lib/surface/metadata_array.cc \ src/core/lib/surface/metadata_array.cc \
src/core/lib/surface/server_call.cc \ src/core/lib/surface/server.cc \
src/core/lib/surface/validate_metadata.cc \ src/core/lib/surface/validate_metadata.cc \
src/core/lib/surface/version.cc \ src/core/lib/surface/version.cc \
src/core/lib/surface/wait_for_cq_end_op.cc \
src/core/lib/transport/batch_builder.cc \
src/core/lib/transport/bdp_estimator.cc \ src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/call_arena_allocator.cc \
src/core/lib/transport/call_filters.cc \ src/core/lib/transport/call_filters.cc \
src/core/lib/transport/call_final_info.cc \ src/core/lib/transport/call_final_info.cc \
src/core/lib/transport/call_size_estimator.cc \
src/core/lib/transport/call_spine.cc \ src/core/lib/transport/call_spine.cc \
src/core/lib/transport/connectivity_state.cc \ src/core/lib/transport/connectivity_state.cc \
src/core/lib/transport/endpoint_info_handshaker.cc \
src/core/lib/transport/error_utils.cc \ src/core/lib/transport/error_utils.cc \
src/core/lib/transport/interception_chain.cc \ src/core/lib/transport/handshaker.cc \
src/core/lib/transport/handshaker_registry.cc \
src/core/lib/transport/http_connect_handshaker.cc \
src/core/lib/transport/message.cc \ src/core/lib/transport/message.cc \
src/core/lib/transport/metadata.cc \ src/core/lib/transport/metadata.cc \
src/core/lib/transport/metadata_batch.cc \ src/core/lib/transport/metadata_batch.cc \
src/core/lib/transport/metadata_info.cc \ src/core/lib/transport/metadata_info.cc \
src/core/lib/transport/parsed_metadata.cc \ src/core/lib/transport/parsed_metadata.cc \
src/core/lib/transport/status_conversion.cc \ src/core/lib/transport/status_conversion.cc \
src/core/lib/transport/tcp_connect_handshaker.cc \
src/core/lib/transport/timeout_encoding.cc \ src/core/lib/transport/timeout_encoding.cc \
src/core/lib/transport/transport.cc \ src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \ src/core/lib/transport/transport_op_string.cc \
@ -1404,19 +1477,10 @@ LIBGRPC_SRC = \
src/core/resolver/sockaddr/sockaddr_resolver.cc \ src/core/resolver/sockaddr/sockaddr_resolver.cc \
src/core/resolver/xds/xds_dependency_manager.cc \ src/core/resolver/xds/xds_dependency_manager.cc \
src/core/resolver/xds/xds_resolver.cc \ src/core/resolver/xds/xds_resolver.cc \
src/core/server/server.cc \ src/core/resolver/xds/xds_resolver_trace.cc \
src/core/server/server_call_tracer_filter.cc \
src/core/server/server_config_selector_filter.cc \
src/core/server/xds_channel_stack_modifier.cc \
src/core/server/xds_server_config_fetcher.cc \
src/core/service_config/service_config_channel_arg_filter.cc \ src/core/service_config/service_config_channel_arg_filter.cc \
src/core/service_config/service_config_impl.cc \ src/core/service_config/service_config_impl.cc \
src/core/service_config/service_config_parser.cc \ src/core/service_config/service_config_parser.cc \
src/core/telemetry/call_tracer.cc \
src/core/telemetry/histogram_view.cc \
src/core/telemetry/metrics.cc \
src/core/telemetry/stats.cc \
src/core/telemetry/stats_data.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \ src/core/tsi/alts/crypt/aes_gcm.cc \
src/core/tsi/alts/crypt/gsec.cc \ src/core/tsi/alts/crypt/gsec.cc \
src/core/tsi/alts/frame_protector/alts_counter.cc \ src/core/tsi/alts/frame_protector/alts_counter.cc \
@ -1446,65 +1510,6 @@ LIBGRPC_SRC = \
src/core/tsi/ssl_transport_security_utils.cc \ src/core/tsi/ssl_transport_security_utils.cc \
src/core/tsi/transport_security.cc \ src/core/tsi/transport_security.cc \
src/core/tsi/transport_security_grpc.cc \ src/core/tsi/transport_security_grpc.cc \
src/core/util/alloc.cc \
src/core/util/android/log.cc \
src/core/util/atm.cc \
src/core/util/gcp_metadata_query.cc \
src/core/util/http_client/format_request.cc \
src/core/util/http_client/httpcli.cc \
src/core/util/http_client/httpcli_security_connector.cc \
src/core/util/http_client/parser.cc \
src/core/util/iphone/cpu.cc \
src/core/util/json/json_object_loader.cc \
src/core/util/json/json_reader.cc \
src/core/util/json/json_util.cc \
src/core/util/json/json_writer.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/log.cc \
src/core/util/log.cc \
src/core/util/msys/tmpfile.cc \
src/core/util/posix/cpu.cc \
src/core/util/posix/log.cc \
src/core/util/posix/string.cc \
src/core/util/posix/sync.cc \
src/core/util/posix/time.cc \
src/core/util/posix/tmpfile.cc \
src/core/util/string.cc \
src/core/util/sync.cc \
src/core/util/sync_abseil.cc \
src/core/util/time.cc \
src/core/util/time_precise.cc \
src/core/util/windows/cpu.cc \
src/core/util/windows/log.cc \
src/core/util/windows/string.cc \
src/core/util/windows/string_util.cc \
src/core/util/windows/sync.cc \
src/core/util/windows/time.cc \
src/core/util/windows/tmpfile.cc \
src/core/xds/grpc/certificate_provider_store.cc \
src/core/xds/grpc/file_watcher_certificate_provider_factory.cc \
src/core/xds/grpc/xds_audit_logger_registry.cc \
src/core/xds/grpc/xds_bootstrap_grpc.cc \
src/core/xds/grpc/xds_certificate_provider.cc \
src/core/xds/grpc/xds_client_grpc.cc \
src/core/xds/grpc/xds_cluster.cc \
src/core/xds/grpc/xds_cluster_specifier_plugin.cc \
src/core/xds/grpc/xds_common_types.cc \
src/core/xds/grpc/xds_endpoint.cc \
src/core/xds/grpc/xds_health_status.cc \
src/core/xds/grpc/xds_http_fault_filter.cc \
src/core/xds/grpc/xds_http_filters.cc \
src/core/xds/grpc/xds_http_rbac_filter.cc \
src/core/xds/grpc/xds_http_stateful_session_filter.cc \
src/core/xds/grpc/xds_lb_policy_registry.cc \
src/core/xds/grpc/xds_listener.cc \
src/core/xds/grpc/xds_route_config.cc \
src/core/xds/grpc/xds_routing.cc \
src/core/xds/grpc/xds_transport_grpc.cc \
src/core/xds/xds_client/xds_api.cc \
src/core/xds/xds_client/xds_bootstrap.cc \
src/core/xds/xds_client/xds_client.cc \
src/core/xds/xds_client/xds_client_stats.cc \
third_party/abseil-cpp/absl/base/internal/cycleclock.cc \ third_party/abseil-cpp/absl/base/internal/cycleclock.cc \
third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \ third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \
third_party/abseil-cpp/absl/base/internal/raw_logging.cc \ third_party/abseil-cpp/absl/base/internal/raw_logging.cc \
@ -1546,7 +1551,6 @@ LIBGRPC_SRC = \
third_party/abseil-cpp/absl/hash/internal/hash.cc \ third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \ third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \
third_party/abseil-cpp/absl/log/globals.cc \ third_party/abseil-cpp/absl/log/globals.cc \
third_party/abseil-cpp/absl/log/internal/check_op.cc \
third_party/abseil-cpp/absl/log/internal/conditions.cc \ third_party/abseil-cpp/absl/log/internal/conditions.cc \
third_party/abseil-cpp/absl/log/internal/fnmatch.cc \ third_party/abseil-cpp/absl/log/internal/fnmatch.cc \
third_party/abseil-cpp/absl/log/internal/globals.cc \ third_party/abseil-cpp/absl/log/internal/globals.cc \
@ -1772,7 +1776,6 @@ PUBLIC_HEADERS_C += \
include/grpc/impl/propagation_bits.h \ include/grpc/impl/propagation_bits.h \
include/grpc/impl/slice_type.h \ include/grpc/impl/slice_type.h \
include/grpc/load_reporting.h \ include/grpc/load_reporting.h \
include/grpc/passive_listener.h \
include/grpc/slice.h \ include/grpc/slice.h \
include/grpc/slice_buffer.h \ include/grpc/slice_buffer.h \
include/grpc/status.h \ include/grpc/status.h \
@ -1833,8 +1836,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
ifeq ($(SYSTEM),Darwin) ifeq ($(SYSTEM),Darwin)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS) $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
else else
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.42 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS) $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.40 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.42 $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.40
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
endif endif
endif endif
@ -1853,6 +1856,7 @@ endif
# deps: [] # deps: []
# transitive_deps: [] # transitive_deps: []
LIBBORINGSSL_SRC = \ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@ -1931,7 +1935,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \ third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \ third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \
third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \ third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \
third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c \
third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \
third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \ third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \
@ -1944,8 +1947,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@ -2087,7 +2088,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
third_party/boringssl-with-bazel/src/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \ third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \ third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \ third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@ -2109,7 +2109,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \

371
Package.swift generated
View File

@ -23,8 +23,8 @@ let package = Package(
], ],
dependencies: [ dependencies: [
.package(url: "https://github.com/firebase/abseil-cpp-SwiftPM.git", "0.20240116.1"..<"0.20240117.0"), .package(url: "https://github.com/firebase/abseil-cpp-SwiftPM.git", "0.20230802.0"..<"0.20230803.0"),
.package(url: "https://github.com/firebase/boringssl-SwiftPM.git", "0.32.0"..<"0.33.0"), .package(url: "https://github.com/firebase/boringssl-SwiftPM.git", "0.9.0"..<"0.10.0"),
], ],
targets: [ targets: [
@ -93,7 +93,6 @@ let package = Package(
"include/grpc/impl/propagation_bits.h", "include/grpc/impl/propagation_bits.h",
"include/grpc/impl/slice_type.h", "include/grpc/impl/slice_type.h",
"include/grpc/load_reporting.h", "include/grpc/load_reporting.h",
"include/grpc/passive_listener.h",
"include/grpc/slice.h", "include/grpc/slice.h",
"include/grpc/slice_buffer.h", "include/grpc/slice_buffer.h",
"include/grpc/status.h", "include/grpc/status.h",
@ -118,16 +117,10 @@ let package = Package(
"include/grpc/support/thd_id.h", "include/grpc/support/thd_id.h",
"include/grpc/support/time.h", "include/grpc/support/time.h",
"include/grpc/support/workaround_list.h", "include/grpc/support/workaround_list.h",
"src/core/channelz/channel_trace.cc",
"src/core/channelz/channel_trace.h",
"src/core/channelz/channelz.cc",
"src/core/channelz/channelz.h",
"src/core/channelz/channelz_registry.cc",
"src/core/channelz/channelz_registry.h",
"src/core/client_channel/backup_poller.cc", "src/core/client_channel/backup_poller.cc",
"src/core/client_channel/backup_poller.h", "src/core/client_channel/backup_poller.h",
"src/core/client_channel/client_channel.cc", "src/core/client_channel/client_channel_channelz.cc",
"src/core/client_channel/client_channel.h", "src/core/client_channel/client_channel_channelz.h",
"src/core/client_channel/client_channel_factory.cc", "src/core/client_channel/client_channel_factory.cc",
"src/core/client_channel/client_channel_factory.h", "src/core/client_channel/client_channel_factory.h",
"src/core/client_channel/client_channel_filter.cc", "src/core/client_channel/client_channel_filter.cc",
@ -143,8 +136,8 @@ let package = Package(
"src/core/client_channel/dynamic_filters.h", "src/core/client_channel/dynamic_filters.h",
"src/core/client_channel/global_subchannel_pool.cc", "src/core/client_channel/global_subchannel_pool.cc",
"src/core/client_channel/global_subchannel_pool.h", "src/core/client_channel/global_subchannel_pool.h",
"src/core/client_channel/load_balanced_call_destination.cc", "src/core/client_channel/http_proxy_mapper.cc",
"src/core/client_channel/load_balanced_call_destination.h", "src/core/client_channel/http_proxy_mapper.h",
"src/core/client_channel/local_subchannel_pool.cc", "src/core/client_channel/local_subchannel_pool.cc",
"src/core/client_channel/local_subchannel_pool.h", "src/core/client_channel/local_subchannel_pool.h",
"src/core/client_channel/retry_filter.cc", "src/core/client_channel/retry_filter.cc",
@ -170,6 +163,8 @@ let package = Package(
"src/core/ext/filters/channel_idle/idle_filter_state.h", "src/core/ext/filters/channel_idle/idle_filter_state.h",
"src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc", "src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc",
"src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h", "src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h",
"src/core/ext/filters/deadline/deadline_filter.cc",
"src/core/ext/filters/deadline/deadline_filter.h",
"src/core/ext/filters/fault_injection/fault_injection_filter.cc", "src/core/ext/filters/fault_injection/fault_injection_filter.cc",
"src/core/ext/filters/fault_injection/fault_injection_filter.h", "src/core/ext/filters/fault_injection/fault_injection_filter.h",
"src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc", "src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc",
@ -189,10 +184,15 @@ let package = Package(
"src/core/ext/filters/rbac/rbac_filter.h", "src/core/ext/filters/rbac/rbac_filter.h",
"src/core/ext/filters/rbac/rbac_service_config_parser.cc", "src/core/ext/filters/rbac/rbac_service_config_parser.cc",
"src/core/ext/filters/rbac/rbac_service_config_parser.h", "src/core/ext/filters/rbac/rbac_service_config_parser.h",
"src/core/ext/filters/server_config_selector/server_config_selector.h",
"src/core/ext/filters/server_config_selector/server_config_selector_filter.cc",
"src/core/ext/filters/server_config_selector/server_config_selector_filter.h",
"src/core/ext/filters/stateful_session/stateful_session_filter.cc", "src/core/ext/filters/stateful_session/stateful_session_filter.cc",
"src/core/ext/filters/stateful_session/stateful_session_filter.h", "src/core/ext/filters/stateful_session/stateful_session_filter.h",
"src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc", "src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc",
"src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h", "src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h",
"src/core/ext/gcp/metadata_query.cc",
"src/core/ext/gcp/metadata_query.h",
"src/core/ext/transport/chttp2/alpn/alpn.cc", "src/core/ext/transport/chttp2/alpn/alpn.cc",
"src/core/ext/transport/chttp2/alpn/alpn.h", "src/core/ext/transport/chttp2/alpn/alpn.h",
"src/core/ext/transport/chttp2/client/chttp2_connector.cc", "src/core/ext/transport/chttp2/client/chttp2_connector.cc",
@ -237,6 +237,8 @@ let package = Package(
"src/core/ext/transport/chttp2/transport/hpack_parser_table.h", "src/core/ext/transport/chttp2/transport/hpack_parser_table.h",
"src/core/ext/transport/chttp2/transport/http2_settings.cc", "src/core/ext/transport/chttp2/transport/http2_settings.cc",
"src/core/ext/transport/chttp2/transport/http2_settings.h", "src/core/ext/transport/chttp2/transport/http2_settings.h",
"src/core/ext/transport/chttp2/transport/http_trace.cc",
"src/core/ext/transport/chttp2/transport/http_trace.h",
"src/core/ext/transport/chttp2/transport/huffsyms.cc", "src/core/ext/transport/chttp2/transport/huffsyms.cc",
"src/core/ext/transport/chttp2/transport/huffsyms.h", "src/core/ext/transport/chttp2/transport/huffsyms.h",
"src/core/ext/transport/chttp2/transport/internal.h", "src/core/ext/transport/chttp2/transport/internal.h",
@ -256,6 +258,7 @@ let package = Package(
"src/core/ext/transport/chttp2/transport/write_size_policy.cc", "src/core/ext/transport/chttp2/transport/write_size_policy.cc",
"src/core/ext/transport/chttp2/transport/write_size_policy.h", "src/core/ext/transport/chttp2/transport/write_size_policy.h",
"src/core/ext/transport/chttp2/transport/writing.cc", "src/core/ext/transport/chttp2/transport/writing.cc",
"src/core/ext/transport/inproc/inproc_plugin.cc",
"src/core/ext/transport/inproc/inproc_transport.cc", "src/core/ext/transport/inproc/inproc_transport.cc",
"src/core/ext/transport/inproc/inproc_transport.h", "src/core/ext/transport/inproc/inproc_transport.h",
"src/core/ext/transport/inproc/legacy_inproc_transport.cc", "src/core/ext/transport/inproc/legacy_inproc_transport.cc",
@ -1059,26 +1062,63 @@ let package = Package(
"src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h", "src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h",
"src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c", "src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c",
"src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h", "src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h",
"src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc", "src/core/ext/xds/certificate_provider_store.cc",
"src/core/handshaker/endpoint_info/endpoint_info_handshaker.h", "src/core/ext/xds/certificate_provider_store.h",
"src/core/handshaker/handshaker.cc", "src/core/ext/xds/file_watcher_certificate_provider_factory.cc",
"src/core/handshaker/handshaker.h", "src/core/ext/xds/file_watcher_certificate_provider_factory.h",
"src/core/handshaker/handshaker_factory.h", "src/core/ext/xds/upb_utils.h",
"src/core/handshaker/handshaker_registry.cc", "src/core/ext/xds/xds_api.cc",
"src/core/handshaker/handshaker_registry.h", "src/core/ext/xds/xds_api.h",
"src/core/handshaker/http_connect/http_connect_handshaker.cc", "src/core/ext/xds/xds_audit_logger_registry.cc",
"src/core/handshaker/http_connect/http_connect_handshaker.h", "src/core/ext/xds/xds_audit_logger_registry.h",
"src/core/handshaker/http_connect/http_proxy_mapper.cc", "src/core/ext/xds/xds_bootstrap.cc",
"src/core/handshaker/http_connect/http_proxy_mapper.h", "src/core/ext/xds/xds_bootstrap.h",
"src/core/handshaker/proxy_mapper.h", "src/core/ext/xds/xds_bootstrap_grpc.cc",
"src/core/handshaker/proxy_mapper_registry.cc", "src/core/ext/xds/xds_bootstrap_grpc.h",
"src/core/handshaker/proxy_mapper_registry.h", "src/core/ext/xds/xds_certificate_provider.cc",
"src/core/handshaker/security/secure_endpoint.cc", "src/core/ext/xds/xds_certificate_provider.h",
"src/core/handshaker/security/secure_endpoint.h", "src/core/ext/xds/xds_channel_args.h",
"src/core/handshaker/security/security_handshaker.cc", "src/core/ext/xds/xds_channel_stack_modifier.cc",
"src/core/handshaker/security/security_handshaker.h", "src/core/ext/xds/xds_channel_stack_modifier.h",
"src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc", "src/core/ext/xds/xds_client.cc",
"src/core/handshaker/tcp_connect/tcp_connect_handshaker.h", "src/core/ext/xds/xds_client.h",
"src/core/ext/xds/xds_client_grpc.cc",
"src/core/ext/xds/xds_client_grpc.h",
"src/core/ext/xds/xds_client_stats.cc",
"src/core/ext/xds/xds_client_stats.h",
"src/core/ext/xds/xds_cluster.cc",
"src/core/ext/xds/xds_cluster.h",
"src/core/ext/xds/xds_cluster_specifier_plugin.cc",
"src/core/ext/xds/xds_cluster_specifier_plugin.h",
"src/core/ext/xds/xds_common_types.cc",
"src/core/ext/xds/xds_common_types.h",
"src/core/ext/xds/xds_endpoint.cc",
"src/core/ext/xds/xds_endpoint.h",
"src/core/ext/xds/xds_health_status.cc",
"src/core/ext/xds/xds_health_status.h",
"src/core/ext/xds/xds_http_fault_filter.cc",
"src/core/ext/xds/xds_http_fault_filter.h",
"src/core/ext/xds/xds_http_filters.cc",
"src/core/ext/xds/xds_http_filters.h",
"src/core/ext/xds/xds_http_rbac_filter.cc",
"src/core/ext/xds/xds_http_rbac_filter.h",
"src/core/ext/xds/xds_http_stateful_session_filter.cc",
"src/core/ext/xds/xds_http_stateful_session_filter.h",
"src/core/ext/xds/xds_lb_policy_registry.cc",
"src/core/ext/xds/xds_lb_policy_registry.h",
"src/core/ext/xds/xds_listener.cc",
"src/core/ext/xds/xds_listener.h",
"src/core/ext/xds/xds_metrics.h",
"src/core/ext/xds/xds_resource_type.h",
"src/core/ext/xds/xds_resource_type_impl.h",
"src/core/ext/xds/xds_route_config.cc",
"src/core/ext/xds/xds_route_config.h",
"src/core/ext/xds/xds_routing.cc",
"src/core/ext/xds/xds_routing.h",
"src/core/ext/xds/xds_server_config_fetcher.cc",
"src/core/ext/xds/xds_transport.h",
"src/core/ext/xds/xds_transport_grpc.cc",
"src/core/ext/xds/xds_transport_grpc.h",
"src/core/lib/address_utils/parse_address.cc", "src/core/lib/address_utils/parse_address.cc",
"src/core/lib/address_utils/parse_address.h", "src/core/lib/address_utils/parse_address.h",
"src/core/lib/address_utils/sockaddr_utils.cc", "src/core/lib/address_utils/sockaddr_utils.cc",
@ -1089,6 +1129,8 @@ let package = Package(
"src/core/lib/backoff/random_early_detection.cc", "src/core/lib/backoff/random_early_detection.cc",
"src/core/lib/backoff/random_early_detection.h", "src/core/lib/backoff/random_early_detection.h",
"src/core/lib/channel/call_finalization.h", "src/core/lib/channel/call_finalization.h",
"src/core/lib/channel/call_tracer.cc",
"src/core/lib/channel/call_tracer.h",
"src/core/lib/channel/channel_args.cc", "src/core/lib/channel/channel_args.cc",
"src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_args.h",
"src/core/lib/channel/channel_args_preconditioning.cc", "src/core/lib/channel/channel_args_preconditioning.cc",
@ -1100,12 +1142,26 @@ let package = Package(
"src/core/lib/channel/channel_stack_builder.h", "src/core/lib/channel/channel_stack_builder.h",
"src/core/lib/channel/channel_stack_builder_impl.cc", "src/core/lib/channel/channel_stack_builder_impl.cc",
"src/core/lib/channel/channel_stack_builder_impl.h", "src/core/lib/channel/channel_stack_builder_impl.h",
"src/core/lib/channel/channel_stack_trace.cc",
"src/core/lib/channel/channel_stack_trace.h",
"src/core/lib/channel/channel_trace.cc",
"src/core/lib/channel/channel_trace.h",
"src/core/lib/channel/channelz.cc",
"src/core/lib/channel/channelz.h",
"src/core/lib/channel/channelz_registry.cc",
"src/core/lib/channel/channelz_registry.h",
"src/core/lib/channel/connected_channel.cc", "src/core/lib/channel/connected_channel.cc",
"src/core/lib/channel/connected_channel.h", "src/core/lib/channel/connected_channel.h",
"src/core/lib/channel/context.h",
"src/core/lib/channel/metrics.cc",
"src/core/lib/channel/metrics.h",
"src/core/lib/channel/promise_based_filter.cc", "src/core/lib/channel/promise_based_filter.cc",
"src/core/lib/channel/promise_based_filter.h", "src/core/lib/channel/promise_based_filter.h",
"src/core/lib/channel/server_call_tracer_filter.cc",
"src/core/lib/channel/server_call_tracer_filter.h",
"src/core/lib/channel/status_util.cc", "src/core/lib/channel/status_util.cc",
"src/core/lib/channel/status_util.h", "src/core/lib/channel/status_util.h",
"src/core/lib/channel/tcp_tracer.h",
"src/core/lib/compression/compression.cc", "src/core/lib/compression/compression.cc",
"src/core/lib/compression/compression_internal.cc", "src/core/lib/compression/compression_internal.cc",
"src/core/lib/compression/compression_internal.h", "src/core/lib/compression/compression_internal.h",
@ -1120,11 +1176,14 @@ let package = Package(
"src/core/lib/config/load_config.h", "src/core/lib/config/load_config.h",
"src/core/lib/debug/event_log.cc", "src/core/lib/debug/event_log.cc",
"src/core/lib/debug/event_log.h", "src/core/lib/debug/event_log.h",
"src/core/lib/debug/histogram_view.cc",
"src/core/lib/debug/histogram_view.h",
"src/core/lib/debug/stats.cc",
"src/core/lib/debug/stats.h",
"src/core/lib/debug/stats_data.cc",
"src/core/lib/debug/stats_data.h",
"src/core/lib/debug/trace.cc", "src/core/lib/debug/trace.cc",
"src/core/lib/debug/trace.h", "src/core/lib/debug/trace.h",
"src/core/lib/debug/trace_flags.cc",
"src/core/lib/debug/trace_flags.h",
"src/core/lib/debug/trace_impl.h",
"src/core/lib/event_engine/ares_resolver.cc", "src/core/lib/event_engine/ares_resolver.cc",
"src/core/lib/event_engine/ares_resolver.h", "src/core/lib/event_engine/ares_resolver.h",
"src/core/lib/event_engine/cf_engine/cf_engine.cc", "src/core/lib/event_engine/cf_engine/cf_engine.cc",
@ -1146,7 +1205,6 @@ let package = Package(
"src/core/lib/event_engine/extensions/can_track_errors.h", "src/core/lib/event_engine/extensions/can_track_errors.h",
"src/core/lib/event_engine/extensions/chaotic_good_extension.h", "src/core/lib/event_engine/extensions/chaotic_good_extension.h",
"src/core/lib/event_engine/extensions/supports_fd.h", "src/core/lib/event_engine/extensions/supports_fd.h",
"src/core/lib/event_engine/extensions/tcp_trace.h",
"src/core/lib/event_engine/forkable.cc", "src/core/lib/event_engine/forkable.cc",
"src/core/lib/event_engine/forkable.h", "src/core/lib/event_engine/forkable.h",
"src/core/lib/event_engine/grpc_polled_fd.h", "src/core/lib/event_engine/grpc_polled_fd.h",
@ -1217,6 +1275,7 @@ let package = Package(
"src/core/lib/event_engine/thready_event_engine/thready_event_engine.h", "src/core/lib/event_engine/thready_event_engine/thready_event_engine.h",
"src/core/lib/event_engine/time_util.cc", "src/core/lib/event_engine/time_util.cc",
"src/core/lib/event_engine/time_util.h", "src/core/lib/event_engine/time_util.h",
"src/core/lib/event_engine/trace.cc",
"src/core/lib/event_engine/trace.h", "src/core/lib/event_engine/trace.h",
"src/core/lib/event_engine/utils.cc", "src/core/lib/event_engine/utils.cc",
"src/core/lib/event_engine/utils.h", "src/core/lib/event_engine/utils.h",
@ -1241,6 +1300,39 @@ let package = Package(
"src/core/lib/experiments/config.h", "src/core/lib/experiments/config.h",
"src/core/lib/experiments/experiments.cc", "src/core/lib/experiments/experiments.cc",
"src/core/lib/experiments/experiments.h", "src/core/lib/experiments/experiments.h",
"src/core/lib/gpr/alloc.cc",
"src/core/lib/gpr/alloc.h",
"src/core/lib/gpr/android/log.cc",
"src/core/lib/gpr/atm.cc",
"src/core/lib/gpr/iphone/cpu.cc",
"src/core/lib/gpr/linux/cpu.cc",
"src/core/lib/gpr/linux/log.cc",
"src/core/lib/gpr/log.cc",
"src/core/lib/gpr/log_internal.h",
"src/core/lib/gpr/msys/tmpfile.cc",
"src/core/lib/gpr/posix/cpu.cc",
"src/core/lib/gpr/posix/log.cc",
"src/core/lib/gpr/posix/string.cc",
"src/core/lib/gpr/posix/sync.cc",
"src/core/lib/gpr/posix/time.cc",
"src/core/lib/gpr/posix/tmpfile.cc",
"src/core/lib/gpr/spinlock.h",
"src/core/lib/gpr/string.cc",
"src/core/lib/gpr/string.h",
"src/core/lib/gpr/sync.cc",
"src/core/lib/gpr/sync_abseil.cc",
"src/core/lib/gpr/time.cc",
"src/core/lib/gpr/time_precise.cc",
"src/core/lib/gpr/time_precise.h",
"src/core/lib/gpr/tmpfile.h",
"src/core/lib/gpr/useful.h",
"src/core/lib/gpr/windows/cpu.cc",
"src/core/lib/gpr/windows/log.cc",
"src/core/lib/gpr/windows/string.cc",
"src/core/lib/gpr/windows/string_util.cc",
"src/core/lib/gpr/windows/sync.cc",
"src/core/lib/gpr/windows/time.cc",
"src/core/lib/gpr/windows/tmpfile.cc",
"src/core/lib/gprpp/atomic_utils.h", "src/core/lib/gprpp/atomic_utils.h",
"src/core/lib/gprpp/bitset.h", "src/core/lib/gprpp/bitset.h",
"src/core/lib/gprpp/chunked_vector.h", "src/core/lib/gprpp/chunked_vector.h",
@ -1252,15 +1344,11 @@ let package = Package(
"src/core/lib/gprpp/directory_reader.h", "src/core/lib/gprpp/directory_reader.h",
"src/core/lib/gprpp/down_cast.h", "src/core/lib/gprpp/down_cast.h",
"src/core/lib/gprpp/dual_ref_counted.h", "src/core/lib/gprpp/dual_ref_counted.h",
"src/core/lib/gprpp/dump_args.cc",
"src/core/lib/gprpp/dump_args.h",
"src/core/lib/gprpp/env.h", "src/core/lib/gprpp/env.h",
"src/core/lib/gprpp/examine_stack.cc", "src/core/lib/gprpp/examine_stack.cc",
"src/core/lib/gprpp/examine_stack.h", "src/core/lib/gprpp/examine_stack.h",
"src/core/lib/gprpp/fork.cc", "src/core/lib/gprpp/fork.cc",
"src/core/lib/gprpp/fork.h", "src/core/lib/gprpp/fork.h",
"src/core/lib/gprpp/glob.cc",
"src/core/lib/gprpp/glob.h",
"src/core/lib/gprpp/host_port.cc", "src/core/lib/gprpp/host_port.cc",
"src/core/lib/gprpp/host_port.h", "src/core/lib/gprpp/host_port.h",
"src/core/lib/gprpp/if_list.h", "src/core/lib/gprpp/if_list.h",
@ -1318,6 +1406,17 @@ let package = Package(
"src/core/lib/gprpp/work_serializer.cc", "src/core/lib/gprpp/work_serializer.cc",
"src/core/lib/gprpp/work_serializer.h", "src/core/lib/gprpp/work_serializer.h",
"src/core/lib/gprpp/xxhash_inline.h", "src/core/lib/gprpp/xxhash_inline.h",
"src/core/lib/handshaker/proxy_mapper.h",
"src/core/lib/handshaker/proxy_mapper_registry.cc",
"src/core/lib/handshaker/proxy_mapper_registry.h",
"src/core/lib/http/format_request.cc",
"src/core/lib/http/format_request.h",
"src/core/lib/http/httpcli.cc",
"src/core/lib/http/httpcli.h",
"src/core/lib/http/httpcli_security_connector.cc",
"src/core/lib/http/httpcli_ssl_credentials.h",
"src/core/lib/http/parser.cc",
"src/core/lib/http/parser.h",
"src/core/lib/iomgr/block_annotate.h", "src/core/lib/iomgr/block_annotate.h",
"src/core/lib/iomgr/buffer_list.cc", "src/core/lib/iomgr/buffer_list.cc",
"src/core/lib/iomgr/buffer_list.h", "src/core/lib/iomgr/buffer_list.h",
@ -1350,6 +1449,7 @@ let package = Package(
"src/core/lib/iomgr/ev_poll_posix.h", "src/core/lib/iomgr/ev_poll_posix.h",
"src/core/lib/iomgr/ev_posix.cc", "src/core/lib/iomgr/ev_posix.cc",
"src/core/lib/iomgr/ev_posix.h", "src/core/lib/iomgr/ev_posix.h",
"src/core/lib/iomgr/ev_windows.cc",
"src/core/lib/iomgr/event_engine_shims/closure.cc", "src/core/lib/iomgr/event_engine_shims/closure.cc",
"src/core/lib/iomgr/event_engine_shims/closure.h", "src/core/lib/iomgr/event_engine_shims/closure.h",
"src/core/lib/iomgr/event_engine_shims/endpoint.cc", "src/core/lib/iomgr/event_engine_shims/endpoint.cc",
@ -1459,6 +1559,17 @@ let package = Package(
"src/core/lib/iomgr/wakeup_fd_pipe.h", "src/core/lib/iomgr/wakeup_fd_pipe.h",
"src/core/lib/iomgr/wakeup_fd_posix.cc", "src/core/lib/iomgr/wakeup_fd_posix.cc",
"src/core/lib/iomgr/wakeup_fd_posix.h", "src/core/lib/iomgr/wakeup_fd_posix.h",
"src/core/lib/json/json.h",
"src/core/lib/json/json_args.h",
"src/core/lib/json/json_channel_args.h",
"src/core/lib/json/json_object_loader.cc",
"src/core/lib/json/json_object_loader.h",
"src/core/lib/json/json_reader.cc",
"src/core/lib/json/json_reader.h",
"src/core/lib/json/json_util.cc",
"src/core/lib/json/json_util.h",
"src/core/lib/json/json_writer.cc",
"src/core/lib/json/json_writer.h",
"src/core/lib/matchers/matchers.cc", "src/core/lib/matchers/matchers.cc",
"src/core/lib/matchers/matchers.h", "src/core/lib/matchers/matchers.h",
"src/core/lib/promise/activity.cc", "src/core/lib/promise/activity.cc",
@ -1480,7 +1591,6 @@ let package = Package(
"src/core/lib/promise/latch.h", "src/core/lib/promise/latch.h",
"src/core/lib/promise/loop.h", "src/core/lib/promise/loop.h",
"src/core/lib/promise/map.h", "src/core/lib/promise/map.h",
"src/core/lib/promise/observable.h",
"src/core/lib/promise/party.cc", "src/core/lib/promise/party.cc",
"src/core/lib/promise/party.h", "src/core/lib/promise/party.h",
"src/core/lib/promise/pipe.h", "src/core/lib/promise/pipe.h",
@ -1492,6 +1602,8 @@ let package = Package(
"src/core/lib/promise/sleep.cc", "src/core/lib/promise/sleep.cc",
"src/core/lib/promise/sleep.h", "src/core/lib/promise/sleep.h",
"src/core/lib/promise/status_flag.h", "src/core/lib/promise/status_flag.h",
"src/core/lib/promise/trace.cc",
"src/core/lib/promise/trace.h",
"src/core/lib/promise/try_join.h", "src/core/lib/promise/try_join.h",
"src/core/lib/promise/try_seq.h", "src/core/lib/promise/try_seq.h",
"src/core/lib/resource_quota/api.cc", "src/core/lib/resource_quota/api.cc",
@ -1508,6 +1620,8 @@ let package = Package(
"src/core/lib/resource_quota/resource_quota.h", "src/core/lib/resource_quota/resource_quota.h",
"src/core/lib/resource_quota/thread_quota.cc", "src/core/lib/resource_quota/thread_quota.cc",
"src/core/lib/resource_quota/thread_quota.h", "src/core/lib/resource_quota/thread_quota.h",
"src/core/lib/resource_quota/trace.cc",
"src/core/lib/resource_quota/trace.h",
"src/core/lib/security/authorization/audit_logging.cc", "src/core/lib/security/authorization/audit_logging.cc",
"src/core/lib/security/authorization/audit_logging.h", "src/core/lib/security/authorization/audit_logging.h",
"src/core/lib/security/authorization/authorization_engine.h", "src/core/lib/security/authorization/authorization_engine.h",
@ -1626,7 +1740,13 @@ let package = Package(
"src/core/lib/security/security_connector/tls/tls_security_connector.h", "src/core/lib/security/security_connector/tls/tls_security_connector.h",
"src/core/lib/security/transport/auth_filters.h", "src/core/lib/security/transport/auth_filters.h",
"src/core/lib/security/transport/client_auth_filter.cc", "src/core/lib/security/transport/client_auth_filter.cc",
"src/core/lib/security/transport/secure_endpoint.cc",
"src/core/lib/security/transport/secure_endpoint.h",
"src/core/lib/security/transport/security_handshaker.cc",
"src/core/lib/security/transport/security_handshaker.h",
"src/core/lib/security/transport/server_auth_filter.cc", "src/core/lib/security/transport/server_auth_filter.cc",
"src/core/lib/security/transport/tsi_error.cc",
"src/core/lib/security/transport/tsi_error.h",
"src/core/lib/security/util/json_util.cc", "src/core/lib/security/util/json_util.cc",
"src/core/lib/security/util/json_util.h", "src/core/lib/security/util/json_util.h",
"src/core/lib/slice/percent_encoding.cc", "src/core/lib/slice/percent_encoding.cc",
@ -1636,9 +1756,11 @@ let package = Package(
"src/core/lib/slice/slice_buffer.cc", "src/core/lib/slice/slice_buffer.cc",
"src/core/lib/slice/slice_buffer.h", "src/core/lib/slice/slice_buffer.h",
"src/core/lib/slice/slice_internal.h", "src/core/lib/slice/slice_internal.h",
"src/core/lib/slice/slice_refcount.cc",
"src/core/lib/slice/slice_refcount.h", "src/core/lib/slice/slice_refcount.h",
"src/core/lib/slice/slice_string_helpers.cc", "src/core/lib/slice/slice_string_helpers.cc",
"src/core/lib/slice/slice_string_helpers.h", "src/core/lib/slice/slice_string_helpers.h",
"src/core/lib/surface/api_trace.cc",
"src/core/lib/surface/api_trace.h", "src/core/lib/surface/api_trace.h",
"src/core/lib/surface/byte_buffer.cc", "src/core/lib/surface/byte_buffer.cc",
"src/core/lib/surface/byte_buffer_reader.cc", "src/core/lib/surface/byte_buffer_reader.cc",
@ -1647,8 +1769,7 @@ let package = Package(
"src/core/lib/surface/call_details.cc", "src/core/lib/surface/call_details.cc",
"src/core/lib/surface/call_log_batch.cc", "src/core/lib/surface/call_log_batch.cc",
"src/core/lib/surface/call_test_only.h", "src/core/lib/surface/call_test_only.h",
"src/core/lib/surface/call_utils.cc", "src/core/lib/surface/call_trace.h",
"src/core/lib/surface/call_utils.h",
"src/core/lib/surface/channel.cc", "src/core/lib/surface/channel.cc",
"src/core/lib/surface/channel.h", "src/core/lib/surface/channel.h",
"src/core/lib/surface/channel_create.cc", "src/core/lib/surface/channel_create.cc",
@ -1657,16 +1778,12 @@ let package = Package(
"src/core/lib/surface/channel_init.h", "src/core/lib/surface/channel_init.h",
"src/core/lib/surface/channel_stack_type.cc", "src/core/lib/surface/channel_stack_type.cc",
"src/core/lib/surface/channel_stack_type.h", "src/core/lib/surface/channel_stack_type.h",
"src/core/lib/surface/client_call.cc",
"src/core/lib/surface/client_call.h",
"src/core/lib/surface/completion_queue.cc", "src/core/lib/surface/completion_queue.cc",
"src/core/lib/surface/completion_queue.h", "src/core/lib/surface/completion_queue.h",
"src/core/lib/surface/completion_queue_factory.cc", "src/core/lib/surface/completion_queue_factory.cc",
"src/core/lib/surface/completion_queue_factory.h", "src/core/lib/surface/completion_queue_factory.h",
"src/core/lib/surface/event_string.cc", "src/core/lib/surface/event_string.cc",
"src/core/lib/surface/event_string.h", "src/core/lib/surface/event_string.h",
"src/core/lib/surface/filter_stack_call.cc",
"src/core/lib/surface/filter_stack_call.h",
"src/core/lib/surface/init.cc", "src/core/lib/surface/init.cc",
"src/core/lib/surface/init.h", "src/core/lib/surface/init.h",
"src/core/lib/surface/init_internally.cc", "src/core/lib/surface/init_internally.cc",
@ -1676,30 +1793,41 @@ let package = Package(
"src/core/lib/surface/legacy_channel.cc", "src/core/lib/surface/legacy_channel.cc",
"src/core/lib/surface/legacy_channel.h", "src/core/lib/surface/legacy_channel.h",
"src/core/lib/surface/metadata_array.cc", "src/core/lib/surface/metadata_array.cc",
"src/core/lib/surface/server_call.cc", "src/core/lib/surface/server.cc",
"src/core/lib/surface/server_call.h", "src/core/lib/surface/server.h",
"src/core/lib/surface/server_interface.h",
"src/core/lib/surface/validate_metadata.cc", "src/core/lib/surface/validate_metadata.cc",
"src/core/lib/surface/validate_metadata.h", "src/core/lib/surface/validate_metadata.h",
"src/core/lib/surface/version.cc", "src/core/lib/surface/version.cc",
"src/core/lib/surface/wait_for_cq_end_op.cc",
"src/core/lib/surface/wait_for_cq_end_op.h",
"src/core/lib/transport/batch_builder.cc",
"src/core/lib/transport/batch_builder.h",
"src/core/lib/transport/bdp_estimator.cc", "src/core/lib/transport/bdp_estimator.cc",
"src/core/lib/transport/bdp_estimator.h", "src/core/lib/transport/bdp_estimator.h",
"src/core/lib/transport/call_arena_allocator.cc",
"src/core/lib/transport/call_arena_allocator.h",
"src/core/lib/transport/call_destination.h",
"src/core/lib/transport/call_filters.cc", "src/core/lib/transport/call_filters.cc",
"src/core/lib/transport/call_filters.h", "src/core/lib/transport/call_filters.h",
"src/core/lib/transport/call_final_info.cc", "src/core/lib/transport/call_final_info.cc",
"src/core/lib/transport/call_final_info.h", "src/core/lib/transport/call_final_info.h",
"src/core/lib/transport/call_size_estimator.cc",
"src/core/lib/transport/call_size_estimator.h",
"src/core/lib/transport/call_spine.cc", "src/core/lib/transport/call_spine.cc",
"src/core/lib/transport/call_spine.h", "src/core/lib/transport/call_spine.h",
"src/core/lib/transport/connectivity_state.cc", "src/core/lib/transport/connectivity_state.cc",
"src/core/lib/transport/connectivity_state.h", "src/core/lib/transport/connectivity_state.h",
"src/core/lib/transport/custom_metadata.h", "src/core/lib/transport/custom_metadata.h",
"src/core/lib/transport/endpoint_info_handshaker.cc",
"src/core/lib/transport/endpoint_info_handshaker.h",
"src/core/lib/transport/error_utils.cc", "src/core/lib/transport/error_utils.cc",
"src/core/lib/transport/error_utils.h", "src/core/lib/transport/error_utils.h",
"src/core/lib/transport/handshaker.cc",
"src/core/lib/transport/handshaker.h",
"src/core/lib/transport/handshaker_factory.h",
"src/core/lib/transport/handshaker_registry.cc",
"src/core/lib/transport/handshaker_registry.h",
"src/core/lib/transport/http2_errors.h", "src/core/lib/transport/http2_errors.h",
"src/core/lib/transport/interception_chain.cc", "src/core/lib/transport/http_connect_handshaker.cc",
"src/core/lib/transport/interception_chain.h", "src/core/lib/transport/http_connect_handshaker.h",
"src/core/lib/transport/message.cc", "src/core/lib/transport/message.cc",
"src/core/lib/transport/message.h", "src/core/lib/transport/message.h",
"src/core/lib/transport/metadata.cc", "src/core/lib/transport/metadata.cc",
@ -1714,6 +1842,8 @@ let package = Package(
"src/core/lib/transport/simple_slice_based_metadata.h", "src/core/lib/transport/simple_slice_based_metadata.h",
"src/core/lib/transport/status_conversion.cc", "src/core/lib/transport/status_conversion.cc",
"src/core/lib/transport/status_conversion.h", "src/core/lib/transport/status_conversion.h",
"src/core/lib/transport/tcp_connect_handshaker.cc",
"src/core/lib/transport/tcp_connect_handshaker.h",
"src/core/lib/transport/timeout_encoding.cc", "src/core/lib/transport/timeout_encoding.cc",
"src/core/lib/transport/timeout_encoding.h", "src/core/lib/transport/timeout_encoding.h",
"src/core/lib/transport/transport.cc", "src/core/lib/transport/transport.cc",
@ -1814,17 +1944,8 @@ let package = Package(
"src/core/resolver/xds/xds_dependency_manager.h", "src/core/resolver/xds/xds_dependency_manager.h",
"src/core/resolver/xds/xds_resolver.cc", "src/core/resolver/xds/xds_resolver.cc",
"src/core/resolver/xds/xds_resolver_attributes.h", "src/core/resolver/xds/xds_resolver_attributes.h",
"src/core/server/server.cc", "src/core/resolver/xds/xds_resolver_trace.cc",
"src/core/server/server.h", "src/core/resolver/xds/xds_resolver_trace.h",
"src/core/server/server_call_tracer_filter.cc",
"src/core/server/server_call_tracer_filter.h",
"src/core/server/server_config_selector.h",
"src/core/server/server_config_selector_filter.cc",
"src/core/server/server_config_selector_filter.h",
"src/core/server/server_interface.h",
"src/core/server/xds_channel_stack_modifier.cc",
"src/core/server/xds_channel_stack_modifier.h",
"src/core/server/xds_server_config_fetcher.cc",
"src/core/service_config/service_config.h", "src/core/service_config/service_config.h",
"src/core/service_config/service_config_call_data.h", "src/core/service_config/service_config_call_data.h",
"src/core/service_config/service_config_channel_arg_filter.cc", "src/core/service_config/service_config_channel_arg_filter.cc",
@ -1832,17 +1953,6 @@ let package = Package(
"src/core/service_config/service_config_impl.h", "src/core/service_config/service_config_impl.h",
"src/core/service_config/service_config_parser.cc", "src/core/service_config/service_config_parser.cc",
"src/core/service_config/service_config_parser.h", "src/core/service_config/service_config_parser.h",
"src/core/telemetry/call_tracer.cc",
"src/core/telemetry/call_tracer.h",
"src/core/telemetry/histogram_view.cc",
"src/core/telemetry/histogram_view.h",
"src/core/telemetry/metrics.cc",
"src/core/telemetry/metrics.h",
"src/core/telemetry/stats.cc",
"src/core/telemetry/stats.h",
"src/core/telemetry/stats_data.cc",
"src/core/telemetry/stats_data.h",
"src/core/telemetry/tcp_tracer.h",
"src/core/tsi/alts/crypt/aes_gcm.cc", "src/core/tsi/alts/crypt/aes_gcm.cc",
"src/core/tsi/alts/crypt/gsec.cc", "src/core/tsi/alts/crypt/gsec.cc",
"src/core/tsi/alts/crypt/gsec.h", "src/core/tsi/alts/crypt/gsec.h",
@ -1901,113 +2011,6 @@ let package = Package(
"src/core/tsi/transport_security_grpc.cc", "src/core/tsi/transport_security_grpc.cc",
"src/core/tsi/transport_security_grpc.h", "src/core/tsi/transport_security_grpc.h",
"src/core/tsi/transport_security_interface.h", "src/core/tsi/transport_security_interface.h",
"src/core/util/alloc.cc",
"src/core/util/alloc.h",
"src/core/util/android/log.cc",
"src/core/util/atm.cc",
"src/core/util/gcp_metadata_query.cc",
"src/core/util/gcp_metadata_query.h",
"src/core/util/http_client/format_request.cc",
"src/core/util/http_client/format_request.h",
"src/core/util/http_client/httpcli.cc",
"src/core/util/http_client/httpcli.h",
"src/core/util/http_client/httpcli_security_connector.cc",
"src/core/util/http_client/httpcli_ssl_credentials.h",
"src/core/util/http_client/parser.cc",
"src/core/util/http_client/parser.h",
"src/core/util/iphone/cpu.cc",
"src/core/util/json/json.h",
"src/core/util/json/json_args.h",
"src/core/util/json/json_channel_args.h",
"src/core/util/json/json_object_loader.cc",
"src/core/util/json/json_object_loader.h",
"src/core/util/json/json_reader.cc",
"src/core/util/json/json_reader.h",
"src/core/util/json/json_util.cc",
"src/core/util/json/json_util.h",
"src/core/util/json/json_writer.cc",
"src/core/util/json/json_writer.h",
"src/core/util/linux/cpu.cc",
"src/core/util/linux/log.cc",
"src/core/util/log.cc",
"src/core/util/msys/tmpfile.cc",
"src/core/util/posix/cpu.cc",
"src/core/util/posix/log.cc",
"src/core/util/posix/string.cc",
"src/core/util/posix/sync.cc",
"src/core/util/posix/time.cc",
"src/core/util/posix/tmpfile.cc",
"src/core/util/spinlock.h",
"src/core/util/string.cc",
"src/core/util/string.h",
"src/core/util/sync.cc",
"src/core/util/sync_abseil.cc",
"src/core/util/time.cc",
"src/core/util/time_precise.cc",
"src/core/util/time_precise.h",
"src/core/util/tmpfile.h",
"src/core/util/useful.h",
"src/core/util/windows/cpu.cc",
"src/core/util/windows/log.cc",
"src/core/util/windows/string.cc",
"src/core/util/windows/string_util.cc",
"src/core/util/windows/sync.cc",
"src/core/util/windows/time.cc",
"src/core/util/windows/tmpfile.cc",
"src/core/xds/grpc/certificate_provider_store.cc",
"src/core/xds/grpc/certificate_provider_store.h",
"src/core/xds/grpc/file_watcher_certificate_provider_factory.cc",
"src/core/xds/grpc/file_watcher_certificate_provider_factory.h",
"src/core/xds/grpc/upb_utils.h",
"src/core/xds/grpc/xds_audit_logger_registry.cc",
"src/core/xds/grpc/xds_audit_logger_registry.h",
"src/core/xds/grpc/xds_bootstrap_grpc.cc",
"src/core/xds/grpc/xds_bootstrap_grpc.h",
"src/core/xds/grpc/xds_certificate_provider.cc",
"src/core/xds/grpc/xds_certificate_provider.h",
"src/core/xds/grpc/xds_client_grpc.cc",
"src/core/xds/grpc/xds_client_grpc.h",
"src/core/xds/grpc/xds_cluster.cc",
"src/core/xds/grpc/xds_cluster.h",
"src/core/xds/grpc/xds_cluster_specifier_plugin.cc",
"src/core/xds/grpc/xds_cluster_specifier_plugin.h",
"src/core/xds/grpc/xds_common_types.cc",
"src/core/xds/grpc/xds_common_types.h",
"src/core/xds/grpc/xds_endpoint.cc",
"src/core/xds/grpc/xds_endpoint.h",
"src/core/xds/grpc/xds_health_status.cc",
"src/core/xds/grpc/xds_health_status.h",
"src/core/xds/grpc/xds_http_fault_filter.cc",
"src/core/xds/grpc/xds_http_fault_filter.h",
"src/core/xds/grpc/xds_http_filters.cc",
"src/core/xds/grpc/xds_http_filters.h",
"src/core/xds/grpc/xds_http_rbac_filter.cc",
"src/core/xds/grpc/xds_http_rbac_filter.h",
"src/core/xds/grpc/xds_http_stateful_session_filter.cc",
"src/core/xds/grpc/xds_http_stateful_session_filter.h",
"src/core/xds/grpc/xds_lb_policy_registry.cc",
"src/core/xds/grpc/xds_lb_policy_registry.h",
"src/core/xds/grpc/xds_listener.cc",
"src/core/xds/grpc/xds_listener.h",
"src/core/xds/grpc/xds_route_config.cc",
"src/core/xds/grpc/xds_route_config.h",
"src/core/xds/grpc/xds_routing.cc",
"src/core/xds/grpc/xds_routing.h",
"src/core/xds/grpc/xds_transport_grpc.cc",
"src/core/xds/grpc/xds_transport_grpc.h",
"src/core/xds/xds_client/xds_api.cc",
"src/core/xds/xds_client/xds_api.h",
"src/core/xds/xds_client/xds_bootstrap.cc",
"src/core/xds/xds_client/xds_bootstrap.h",
"src/core/xds/xds_client/xds_channel_args.h",
"src/core/xds/xds_client/xds_client.cc",
"src/core/xds/xds_client/xds_client.h",
"src/core/xds/xds_client/xds_client_stats.cc",
"src/core/xds/xds_client/xds_client_stats.h",
"src/core/xds/xds_client/xds_metrics.h",
"src/core/xds/xds_client/xds_resource_type.h",
"src/core/xds/xds_client/xds_resource_type_impl.h",
"src/core/xds/xds_client/xds_transport.h",
"third_party/re2/re2/bitmap256.h", "third_party/re2/re2/bitmap256.h",
"third_party/re2/re2/bitstate.cc", "third_party/re2/re2/bitstate.cc",
"third_party/re2/re2/compile.cc", "third_party/re2/re2/compile.cc",

View File

@ -4,27 +4,16 @@ This guide is for troubleshooting gRPC implementations based on C core library (
## Enabling extra logging and tracing ## Enabling extra logging and tracing
Extra logging can be very useful for diagnosing problems. It can be used to increase the amount of information Extra logging can be very useful for diagnosing problems. All gRPC implementations based on C core library support
the `GRPC_VERBOSITY` and `GRPC_TRACE` environment variables that can be used to increase the amount of information
that gets printed to stderr. that gets printed to stderr.
## GRPC_VERBOSITY ## GRPC_VERBOSITY
<!-- BEGIN_GOOGLE_INTERNAL_DOCUMENTATION `GRPC_VERBOSITY` is used to set the minimum level of log messages printed by gRPC (supported values are `DEBUG`, `INFO` and `ERROR`). If this environment variable is unset, only `ERROR` logs will be printed.
GRPC_VERBOSITY has been disabled for internal usage and will not work anymore.
If anyone wants to debug, we need to set verbose logs using absl.
END_GOOGLE_INTERNAL_DOCUMENTATION -->
<!-- BEGIN_OPEN_SOURCE_DOCUMENTATION -->
`GRPC_VERBOSITY` is used to set the minimum level of log messages printed by gRPC (supported values are `DEBUG`, `INFO` and `ERROR`). If this environment variable is unset, only `ERROR` logs will be printed. `ERROR` is recomeded for production systems.
<!-- END_OPEN_SOURCE_DOCUMENTATION -->
## GRPC_TRACE ## GRPC_TRACE
<!-- BEGIN_GOOGLE_INTERNAL_DOCUMENTATION
GRPC_VERBOSITY has been disabled for internal usage and will not work anymore.
If anyone wants to debug, we need to set verbose logs using absl.
END_GOOGLE_INTERNAL_DOCUMENTATION -->
`GRPC_TRACE` can be used to enable extra logging for some internal gRPC components. Enabling the right traces can be invaluable `GRPC_TRACE` can be used to enable extra logging for some internal gRPC components. Enabling the right traces can be invaluable
for diagnosing for what is going wrong when things aren't working as intended. Possible values for `GRPC_TRACE` are listed in [Environment Variables Overview](doc/environment_variables.md). for diagnosing for what is going wrong when things aren't working as intended. Possible values for `GRPC_TRACE` are listed in [Environment Variables Overview](doc/environment_variables.md).
Multiple traces can be enabled at once (use comma as separator). Multiple traces can be enabled at once (use comma as separator).

View File

@ -128,12 +128,6 @@ load("@com_github_google_benchmark//:bazel/benchmark_deps.bzl", "benchmark_deps"
benchmark_deps() benchmark_deps()
# This is a transitive dependency from google_cloud_cpp
bind(
name = "cares",
actual = "@com_github_cares_cares//:ares",
)
load("@io_opentelemetry_cpp//bazel:repository.bzl", "opentelemetry_cpp_deps") load("@io_opentelemetry_cpp//bazel:repository.bzl", "opentelemetry_cpp_deps")
opentelemetry_cpp_deps() opentelemetry_cpp_deps()
@ -142,12 +136,6 @@ load("@io_opentelemetry_cpp//bazel:extra_deps.bzl", "opentelemetry_extra_deps")
opentelemetry_extra_deps() opentelemetry_extra_deps()
# Transitive dependency of opentelemetry_extra_deps()
bind(
name = "madler_zlib",
actual = "@zlib//:zlib",
)
# TODO: Enable below once https://github.com/bazel-xcode/PodToBUILD/issues/232 is resolved # TODO: Enable below once https://github.com/bazel-xcode/PodToBUILD/issues/232 is resolved
# #
#http_archive( #http_archive(

View File

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!! # AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
__version__ = """1.65.0.dev0""" __version__ = """1.64.0.dev0"""

View File

@ -57,107 +57,7 @@ GRPC_LLVM_WARNING_FLAGS = [
"-Wno-unused-function", "-Wno-unused-function",
] ]
GRPC_LLVM_WINDOWS_WARNING_FLAGS = GRPC_LLVM_WARNING_FLAGS + [
### Some checks that are missing with clang-cl
"-Wthread-safety",
"-Wreorder-ctor",
### Avoid some checks that are default on clang-cl
"-Wno-c++98-compat-pedantic",
"-Wno-missing-prototypes",
"-Wno-thread-safety-precise", # too many aliases
# abseil offenses
"-Wno-comma",
"-Wno-deprecated-redundant-constexpr-static-def",
"-Wno-deprecated", # remove when the above works in all clang versions we test with
"-Wno-float-equal",
"-Wno-gcc-compat",
"-Wno-reserved-identifier",
"-Wno-thread-safety-negative",
"-Wno-sign-compare",
# re2 offenses
"-Wno-zero-as-null-pointer-constant",
# ares offenses
"-Wno-macro-redefined",
# protobuf offenses
"-Wno-cast-align",
"-Wno-inconsistent-missing-destructor-override",
# xxhash offenses
"-Wno-disabled-macro-expansion",
# benchmark offenses
"-Wno-shift-sign-overflow",
# Evidently nodiscard is inappropriately pinned as a C++17 feature
"-Wno-c++17-attribute-extensions",
# declarations are not used in many places
"-Wno-missing-variable-declarations",
# TODO: delete iomgr
"-Wno-old-style-cast",
"-Wno-cast-qual",
"-Wno-unused-member-function",
"-Wno-unused-template",
# TODO(hork): see if the TraceFlag offense can be removed
"-Wno-global-constructors",
# TODO(hork): clean up EE offenses
"-Wno-missing-field-initializers",
"-Wno-non-virtual-dtor",
"-Wno-thread-safety-reference-return",
# TODO(ctiller): offense: dump_args. signed to unsigned
"-Wno-sign-conversion",
"-Wno-shorten-64-to-32",
# TODO: general cleanup required. Maybe new developer or rainy day projects.
"-Wno-unreachable-code-break",
"-Wno-unreachable-code-return",
"-Wno-unreachable-code",
"-Wno-used-but-marked-unused",
"-Wno-newline-eof",
"-Wno-unused-const-variable",
"-Wno-extra-semi",
"-Wno-extra-semi-stmt",
"-Wno-suggest-destructor-override",
"-Wno-shadow",
"-Wno-missing-noreturn",
"-Wno-nested-anon-types",
"-Wno-gnu-anonymous-struct",
"-Wno-nonportable-system-include-path",
"-Wno-microsoft-cast",
"-Wno-exit-time-destructors",
"-Wno-undef", # #if <MACRO_NAME> to #ifdef <MACRO_NAME>
"-Wno-unused-macros",
"-Wno-redundant-parens",
"-Wno-undefined-func-template",
"-Wno-gnu-zero-variadic-macro-arguments",
"-Wno-double-promotion",
"-Wno-implicit-float-conversion",
"-Wno-implicit-int-conversion",
"-Wno-float-conversion",
"-Wno-unused-parameter",
"-Wno-suggest-override",
"-Wno-documentation",
"-Wno-documentation-unknown-command",
"-Wno-unsafe-buffer-usage",
### possibly bad warnings for this codebase
"-Wno-covered-switch-default",
"-Wno-switch-default",
"-Wno-switch-enum",
"-Wno-c99-extensions",
"-Wno-unused-private-field", # GRPC_UNUSED does not appear to work for private fields
]
GRPC_DEFAULT_COPTS = select({ GRPC_DEFAULT_COPTS = select({
"//:use_strict_warning": GRPC_LLVM_WARNING_FLAGS + ["-DUSE_STRICT_WARNING=1"], "//:use_strict_warning": GRPC_LLVM_WARNING_FLAGS + ["-DUSE_STRICT_WARNING=1"],
"//:use_strict_warning_windows": GRPC_LLVM_WINDOWS_WARNING_FLAGS + ["-DUSE_STRICT_WARNING=1"],
"//conditions:default": [], "//conditions:default": [],
}) })

59
bazel/experiments.bzl generated
View File

@ -18,6 +18,7 @@
EXPERIMENT_ENABLES = { EXPERIMENT_ENABLES = {
"call_status_override_on_cancellation": "call_status_override_on_cancellation", "call_status_override_on_cancellation": "call_status_override_on_cancellation",
"call_v3": "call_v3",
"canary_client_privacy": "canary_client_privacy", "canary_client_privacy": "canary_client_privacy",
"client_privacy": "client_privacy", "client_privacy": "client_privacy",
"event_engine_client": "event_engine_client", "event_engine_client": "event_engine_client",
@ -27,12 +28,15 @@ EXPERIMENT_ENABLES = {
"http2_stats_fix": "http2_stats_fix", "http2_stats_fix": "http2_stats_fix",
"keepalive_fix": "keepalive_fix", "keepalive_fix": "keepalive_fix",
"keepalive_server_fix": "keepalive_server_fix", "keepalive_server_fix": "keepalive_server_fix",
"max_pings_wo_data_throttle": "max_pings_wo_data_throttle",
"monitoring_experiment": "monitoring_experiment", "monitoring_experiment": "monitoring_experiment",
"multiping": "multiping", "multiping": "multiping",
"peer_state_based_framing": "peer_state_based_framing", "peer_state_based_framing": "peer_state_based_framing",
"pending_queue_cap": "pending_queue_cap",
"pick_first_new": "pick_first_new", "pick_first_new": "pick_first_new",
"promise_based_inproc_transport": "promise_based_inproc_transport", "promise_based_client_call": "event_engine_client,event_engine_listener,promise_based_client_call",
"promise_based_server_call": "promise_based_server_call",
"chaotic_good": "chaotic_good,event_engine_client,event_engine_listener,promise_based_client_call,promise_based_server_call",
"promise_based_inproc_transport": "event_engine_client,event_engine_listener,promise_based_client_call,promise_based_inproc_transport,promise_based_server_call",
"rstpit": "rstpit", "rstpit": "rstpit",
"schedule_cancellation_over_write": "schedule_cancellation_over_write", "schedule_cancellation_over_write": "schedule_cancellation_over_write",
"server_privacy": "server_privacy", "server_privacy": "server_privacy",
@ -41,7 +45,7 @@ EXPERIMENT_ENABLES = {
"trace_record_callops": "trace_record_callops", "trace_record_callops": "trace_record_callops",
"unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size",
"work_serializer_clears_time_cache": "work_serializer_clears_time_cache", "work_serializer_clears_time_cache": "work_serializer_clears_time_cache",
"work_serializer_dispatch": "work_serializer_dispatch", "work_serializer_dispatch": "event_engine_client,work_serializer_dispatch",
} }
EXPERIMENT_POLLERS = [ EXPERIMENT_POLLERS = [
@ -55,6 +59,12 @@ EXPERIMENTS = {
"dbg": { "dbg": {
}, },
"off": { "off": {
"core_end2end_test": [
"promise_based_server_call",
],
"cpp_end2end_test": [
"promise_based_server_call",
],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
@ -66,34 +76,30 @@ EXPERIMENTS = {
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
], ],
"logging_test": [
"promise_based_server_call",
],
"resource_quota_test": [ "resource_quota_test": [
"free_large_allocator", "free_large_allocator",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"cancel_ares_query_test": [
"event_engine_dns",
],
"core_end2end_test": [ "core_end2end_test": [
"event_engine_client",
"event_engine_listener", "event_engine_listener",
], ],
"cpp_lb_end2end_test": [ "cpp_lb_end2end_test": [
"pick_first_new", "pick_first_new",
], ],
"event_engine_client_test": [
"event_engine_client",
],
"event_engine_listener_test": [ "event_engine_listener_test": [
"event_engine_listener", "event_engine_listener",
], ],
"lb_unit_test": [ "lb_unit_test": [
"pick_first_new", "pick_first_new",
], ],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"xds_end2end_test": [ "xds_end2end_test": [
"pick_first_new", "pick_first_new",
], ],
@ -103,6 +109,12 @@ EXPERIMENTS = {
"dbg": { "dbg": {
}, },
"off": { "off": {
"core_end2end_test": [
"promise_based_server_call",
],
"cpp_end2end_test": [
"promise_based_server_call",
],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
@ -114,10 +126,16 @@ EXPERIMENTS = {
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
], ],
"logging_test": [
"promise_based_server_call",
],
"resource_quota_test": [ "resource_quota_test": [
"free_large_allocator", "free_large_allocator",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"cpp_lb_end2end_test": [ "cpp_lb_end2end_test": [
@ -136,7 +154,13 @@ EXPERIMENTS = {
}, },
"off": { "off": {
"core_end2end_test": [ "core_end2end_test": [
"chaotic_good",
"event_engine_client", "event_engine_client",
"promise_based_client_call",
"promise_based_server_call",
],
"cpp_end2end_test": [
"promise_based_server_call",
], ],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
@ -152,10 +176,19 @@ EXPERIMENTS = {
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
], ],
"lame_client_test": [
"promise_based_client_call",
],
"logging_test": [
"promise_based_server_call",
],
"resource_quota_test": [ "resource_quota_test": [
"free_large_allocator", "free_large_allocator",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"cancel_ares_query_test": [ "cancel_ares_query_test": [

View File

@ -187,7 +187,7 @@ _generate_cc = rule(
mandatory = False, mandatory = False,
), ),
"_protoc": attr.label( "_protoc": attr.label(
default = Label("@com_google_protobuf//:protoc"), default = Label("//external:protocol_compiler"),
executable = True, executable = True,
cfg = "exec", cfg = "exec",
), ),

View File

@ -180,7 +180,7 @@ generate_objc = rule(
default = "@com_google_protobuf//:well_known_type_protos", default = "@com_google_protobuf//:well_known_type_protos",
), ),
"_protoc": attr.label( "_protoc": attr.label(
default = Label("@com_google_protobuf//:protoc"), default = Label("//external:protocol_compiler"),
executable = True, executable = True,
cfg = "exec", cfg = "exec",
), ),

View File

@ -45,7 +45,6 @@ def if_not_windows(a):
return select({ return select({
"//:windows": [], "//:windows": [],
"//:windows_msvc": [], "//:windows_msvc": [],
"//:windows_clang": [],
"//conditions:default": a, "//conditions:default": a,
}) })
@ -53,7 +52,6 @@ def if_windows(a):
return select({ return select({
"//:windows": a, "//:windows": a,
"//:windows_msvc": a, "//:windows_msvc": a,
"//:windows_clang": a,
"//conditions:default": [], "//conditions:default": [],
}) })
@ -69,7 +67,7 @@ def _get_external_deps(external_deps):
elif dep == "cares": elif dep == "cares":
ret += select({ ret += select({
"//:grpc_no_ares": [], "//:grpc_no_ares": [],
"//conditions:default": ["//third_party:cares"], "//conditions:default": ["//external:cares"],
}) })
elif dep == "cronet_c_for_grpc": elif dep == "cronet_c_for_grpc":
ret.append("//third_party/objective_c/Cronet:cronet_c_for_grpc") ret.append("//third_party/objective_c/Cronet:cronet_c_for_grpc")
@ -84,7 +82,7 @@ def _get_external_deps(external_deps):
elif dep == "libprotobuf_mutator": elif dep == "libprotobuf_mutator":
ret.append("@com_google_libprotobuf_mutator//:libprotobuf_mutator") ret.append("@com_google_libprotobuf_mutator//:libprotobuf_mutator")
else: else:
ret.append("//third_party:" + dep) ret.append("//external:" + dep)
return ret return ret
def _update_visibility(visibility): def _update_visibility(visibility):
@ -108,21 +106,17 @@ def _update_visibility(visibility):
"debug_location": PRIVATE, "debug_location": PRIVATE,
"endpoint_tests": PRIVATE, "endpoint_tests": PRIVATE,
"exec_ctx": PRIVATE, "exec_ctx": PRIVATE,
"gpr_public_hdrs": PRIVATE,
"grpclb": PRIVATE, "grpclb": PRIVATE,
"grpc_experiments": PRIVATE, "grpc_experiments": PRIVATE,
"grpc_opencensus_plugin": PUBLIC, "grpc_opencensus_plugin": PUBLIC,
"grpc_public_hdrs": PRIVATE,
"grpcpp_gcp_observability": PUBLIC, "grpcpp_gcp_observability": PUBLIC,
"grpc_resolver_fake": PRIVATE, "grpc_resolver_fake": PRIVATE,
"grpc++_public_hdrs": PUBLIC,
"grpc++_test": PRIVATE, "grpc++_test": PRIVATE,
"http": PRIVATE, "http": PRIVATE,
"httpcli": PRIVATE, "httpcli": PRIVATE,
"iomgr_internal_errqueue": PRIVATE, "iomgr_internal_errqueue": PRIVATE,
"iomgr_buffer_list": PRIVATE, "iomgr_buffer_list": PRIVATE,
"json_reader_legacy": PRIVATE, "json_reader_legacy": PRIVATE,
"otel_plugin": PRIVATE,
"public": PUBLIC, "public": PUBLIC,
"ref_counted_ptr": PRIVATE, "ref_counted_ptr": PRIVATE,
"tcp_tracer": PRIVATE, "tcp_tracer": PRIVATE,
@ -237,7 +231,6 @@ def grpc_proto_library(
name, name,
srcs = [], srcs = [],
deps = [], deps = [],
visibility = None,
well_known_protos = False, well_known_protos = False,
has_services = True, has_services = True,
use_external = False, use_external = False,
@ -246,7 +239,6 @@ def grpc_proto_library(
name = name, name = name,
srcs = srcs, srcs = srcs,
deps = deps, deps = deps,
visibility = visibility,
well_known_protos = well_known_protos, well_known_protos = well_known_protos,
proto_only = not has_services, proto_only = not has_services,
use_external = use_external, use_external = use_external,
@ -543,7 +535,7 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data
if language.upper() == "C": if language.upper() == "C":
copts = copts + if_not_windows(["-std=c11"]) copts = copts + if_not_windows(["-std=c11"])
core_deps = deps + _get_external_deps(external_deps) + ["//test/core/test_util:grpc_suppressions"] core_deps = deps + _get_external_deps(external_deps) + ["//test/core/util:grpc_suppressions"]
# Test args for all tests # Test args for all tests
test_args = { test_args = {
@ -621,7 +613,7 @@ def grpc_cc_binary(name, srcs = [], deps = [], external_deps = [], args = [], da
data = data, data = data,
testonly = testonly, testonly = testonly,
linkshared = linkshared, linkshared = linkshared,
deps = deps + _get_external_deps(external_deps) + ["//test/core/test_util:grpc_suppressions"], deps = deps + _get_external_deps(external_deps) + ["//test/core/util:grpc_suppressions"],
copts = GRPC_DEFAULT_COPTS + copts, copts = GRPC_DEFAULT_COPTS + copts,
linkopts = if_not_windows(["-pthread"]) + linkopts, linkopts = if_not_windows(["-pthread"]) + linkopts,
tags = tags, tags = tags,
@ -739,13 +731,6 @@ def grpc_package(name, visibility = "private", features = []):
features = features, features = features,
) )
def grpc_filegroup(name, srcs, **kwargs):
native.filegroup(
name = name,
srcs = srcs,
**kwargs
)
def grpc_objc_library( def grpc_objc_library(
name, name,
srcs = [], srcs = [],
@ -804,22 +789,3 @@ def python_config_settings():
name = "python3", name = "python3",
flag_values = {"@bazel_tools//tools/python:python_version": "PY3"}, flag_values = {"@bazel_tools//tools/python:python_version": "PY3"},
) )
# buildifier: disable=unnamed-macro
def grpc_clang_cl_settings():
native.platform(
name = "x64_windows-clang-cl",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:windows",
"@bazel_tools//tools/cpp:clang-cl",
],
)
native.config_setting(
name = "windows_clang",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:windows",
"@bazel_tools//tools/cpp:clang-cl",
],
)

View File

@ -14,12 +14,167 @@
"""Load dependencies needed to compile and test the grpc library as a 3rd-party consumer.""" """Load dependencies needed to compile and test the grpc library as a 3rd-party consumer."""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("//bazel:grpc_python_deps.bzl", "grpc_python_deps") load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps")
# buildifier: disable=unnamed-macro # buildifier: disable=unnamed-macro
def grpc_deps(): def grpc_deps():
"""Loads dependencies need to compile and test the grpc library.""" """Loads dependencies need to compile and test the grpc library."""
native.bind(
name = "libssl",
actual = "@boringssl//:ssl",
)
native.bind(
name = "libcrypto",
actual = "@boringssl//:crypto",
)
native.bind(
name = "madler_zlib",
actual = "@zlib//:zlib",
)
native.bind(
name = "protobuf",
actual = "@com_google_protobuf//:protobuf",
)
native.bind(
name = "protobuf_clib",
actual = "@com_google_protobuf//:protoc_lib",
)
native.bind(
name = "protobuf_headers",
actual = "@com_google_protobuf//:protobuf_headers",
)
native.bind(
name = "protocol_compiler",
actual = "@com_google_protobuf//:protoc",
)
native.bind(
name = "cares",
actual = "@com_github_cares_cares//:ares",
)
native.bind(
name = "gtest",
actual = "@com_google_googletest//:gtest",
)
native.bind(
name = "fuzztest",
actual = "@com_google_fuzztest//fuzztest",
)
native.bind(
name = "fuzztest_main",
actual = "@com_google_fuzztest//fuzztest:fuzztest_gtest_main",
)
native.bind(
name = "benchmark",
actual = "@com_github_google_benchmark//:benchmark",
)
native.bind(
name = "re2",
actual = "@com_googlesource_code_re2//:re2",
)
native.bind(
name = "grpc_cpp_plugin",
actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin",
)
native.bind(
name = "grpc++_codegen_proto",
actual = "@com_github_grpc_grpc//:grpc++_codegen_proto",
)
native.bind(
name = "opencensus-context",
actual = "@io_opencensus_cpp//opencensus/context:context",
)
native.bind(
name = "opencensus-trace",
actual = "@io_opencensus_cpp//opencensus/trace:trace",
)
native.bind(
name = "opencensus-trace-context_util",
actual = "@io_opencensus_cpp//opencensus/trace:context_util",
)
native.bind(
name = "opencensus-trace-propagation",
actual = "@io_opencensus_cpp//opencensus/trace:grpc_trace_bin",
)
native.bind(
name = "opencensus-trace-span_context",
actual = "@io_opencensus_cpp//opencensus/trace:span_context",
)
native.bind(
name = "opencensus-stats",
actual = "@io_opencensus_cpp//opencensus/stats:stats",
)
native.bind(
name = "opencensus-stats-test",
actual = "@io_opencensus_cpp//opencensus/stats:test_utils",
)
native.bind(
name = "opencensus-with-tag-map",
actual = "@io_opencensus_cpp//opencensus/tags:with_tag_map",
)
native.bind(
name = "opencensus-tags",
actual = "@io_opencensus_cpp//opencensus/tags:tags",
)
native.bind(
name = "opencensus-tags-context_util",
actual = "@io_opencensus_cpp//opencensus/tags:context_util",
)
native.bind(
name = "opencensus-trace-stackdriver_exporter",
actual = "@io_opencensus_cpp//opencensus/exporters/trace/stackdriver:stackdriver_exporter",
)
native.bind(
name = "opencensus-stats-stackdriver_exporter",
actual = "@io_opencensus_cpp//opencensus/exporters/stats/stackdriver:stackdriver_exporter",
)
native.bind(
name = "googleapis_trace_grpc_service",
actual = "@com_google_googleapis//google/devtools/cloudtrace/v2:cloudtrace_cc_grpc",
)
native.bind(
name = "googleapis_monitoring_grpc_service",
actual = "@com_google_googleapis//google/monitoring/v3:monitoring_cc_grpc",
)
native.bind(
name = "googleapis_logging_grpc_service",
actual = "@com_google_googleapis//google/logging/v2:logging_cc_grpc",
)
native.bind(
name = "googleapis_logging_cc_proto",
actual = "@com_google_googleapis//google/logging/v2:logging_cc_proto",
)
if "platforms" not in native.existing_rules(): if "platforms" not in native.existing_rules():
http_archive( http_archive(
name = "platforms", name = "platforms",
@ -35,11 +190,11 @@ def grpc_deps():
name = "boringssl", name = "boringssl",
# Use github mirror instead of https://boringssl.googlesource.com/boringssl # Use github mirror instead of https://boringssl.googlesource.com/boringssl
# to obtain a boringssl archive with consistent sha256 # to obtain a boringssl archive with consistent sha256
sha256 = "9f441d72fccb9a3faf96470478c8ccfaaeb8db1cffd4d78b698f782124dad1b0", sha256 = "06ba43ff1825c8a9a45dae7f85e532153a531707f6a3e56be1e892fd2d3b75f6",
strip_prefix = "boringssl-b8a2bffc598f230484ff48a247526a9820facfc2", strip_prefix = "boringssl-e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df",
urls = [ urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/b8a2bffc598f230484ff48a247526a9820facfc2.tar.gz", "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
"https://github.com/google/boringssl/archive/b8a2bffc598f230484ff48a247526a9820facfc2.tar.gz", "https://github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
], ],
) )
@ -67,7 +222,6 @@ def grpc_deps():
], ],
patches = [ patches = [
"@com_github_grpc_grpc//third_party:protobuf.patch", "@com_github_grpc_grpc//third_party:protobuf.patch",
"@com_github_grpc_grpc//third_party:protobuf.10007.patch",
], ],
patch_args = ["-p1"], patch_args = ["-p1"],
) )
@ -252,10 +406,10 @@ def grpc_deps():
if "bazel_gazelle" not in native.existing_rules(): if "bazel_gazelle" not in native.existing_rules():
http_archive( http_archive(
name = "bazel_gazelle", name = "bazel_gazelle",
sha256 = "d76bf7a60fd8b050444090dfa2837a4eaf9829e1165618ee35dceca5cbdf58d5", sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
urls = [ urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz", "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
], ],
) )
@ -341,6 +495,15 @@ def grpc_test_only_deps():
Loads dependencies that are only needed to run grpc library's tests. Loads dependencies that are only needed to run grpc library's tests.
""" """
native.bind(
name = "twisted",
actual = "@com_github_twisted_twisted//:twisted",
)
native.bind(
name = "yaml",
actual = "@com_github_yaml_pyyaml//:yaml",
)
if "com_github_twisted_twisted" not in native.existing_rules(): if "com_github_twisted_twisted" not in native.existing_rules():
http_archive( http_archive(

View File

@ -52,7 +52,7 @@ def grpc_extra_deps(ignore_version_differences = False):
api_dependencies() api_dependencies()
go_rules_dependencies() go_rules_dependencies()
go_register_toolchains(version = "1.20") go_register_toolchains(version = "1.18")
gazelle_dependencies() gazelle_dependencies()
# Pull-in the go 3rd party dependencies for protoc_gen_validate, which is # Pull-in the go 3rd party dependencies for protoc_gen_validate, which is

View File

@ -110,7 +110,7 @@ _gen_py_aspect = aspect(
fragments = ["py"], fragments = ["py"],
attrs = { attrs = {
"_protoc": attr.label( "_protoc": attr.label(
default = Label("@com_google_protobuf//:protoc"), default = Label("//external:protocol_compiler"),
providers = ["files_to_run"], providers = ["files_to_run"],
executable = True, executable = True,
cfg = "exec", cfg = "exec",
@ -166,7 +166,7 @@ py_proto_library = rule(
aspects = [_gen_py_aspect], aspects = [_gen_py_aspect],
), ),
"_protoc": attr.label( "_protoc": attr.label(
default = Label("@com_google_protobuf//:protoc"), default = Label("//external:protocol_compiler"),
providers = ["files_to_run"], providers = ["files_to_run"],
executable = True, executable = True,
cfg = "exec", cfg = "exec",
@ -259,7 +259,7 @@ _generate_pb2_grpc_src = rule(
executable = True, executable = True,
providers = ["files_to_run"], providers = ["files_to_run"],
cfg = "exec", cfg = "exec",
default = Label("@com_google_protobuf//:protoc"), default = Label("//external:protocol_compiler"),
), ),
"grpc_library": attr.label( "grpc_library": attr.label(
default = Label("//src/python/grpcio/grpc:grpcio"), default = Label("//src/python/grpcio/grpc:grpcio"),

6883
build_autogenerated.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -13,5 +13,5 @@
# limitations under the License. # limitations under the License.
module GrpcBuildConfig module GrpcBuildConfig
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-42.dll' CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-40.dll'
end end

View File

@ -12,11 +12,11 @@ settings:
'#08': Use "-preN" suffixes to identify pre-release versions '#08': Use "-preN" suffixes to identify pre-release versions
'#09': Per-language overrides are possible with (eg) ruby_version tag here '#09': Per-language overrides are possible with (eg) ruby_version tag here
'#10': See the expand_version.py for all the quirks here '#10': See the expand_version.py for all the quirks here
core_version: 42.0.0 core_version: 40.0.0
csharp_major_version: 2 csharp_major_version: 2
g_stands_for: gnarly g_stands_for: grateful
protobuf_version: 3.26.1 protobuf_version: 3.26.1
version: 1.65.0-dev version: 1.64.0-dev
configs: configs:
asan: asan:
CC: clang CC: clang
@ -29,7 +29,7 @@ configs:
compile_the_world: true compile_the_world: true
test_environ: test_environ:
ASAN_OPTIONS: detect_leaks=1:color=always ASAN_OPTIONS: detect_leaks=1:color=always
LSAN_OPTIONS: suppressions=test/core/test_util/lsan_suppressions.txt:report_objects=1 LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
asan-noleaks: asan-noleaks:
CC: clang CC: clang
CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer
@ -53,7 +53,7 @@ configs:
compile_the_world: true compile_the_world: true
test_environ: test_environ:
ASAN_OPTIONS: detect_leaks=1:color=always ASAN_OPTIONS: detect_leaks=1:color=always
LSAN_OPTIONS: suppressions=test/core/test_util/lsan_suppressions.txt:report_objects=1 LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
c++-compat: c++-compat:
CFLAGS: -Wc++-compat CFLAGS: -Wc++-compat
CPPFLAGS: -O0 CPPFLAGS: -O0
@ -115,7 +115,7 @@ configs:
LDXX: clang++ LDXX: clang++
compile_the_world: true compile_the_world: true
test_environ: test_environ:
TSAN_OPTIONS: suppressions=test/core/test_util/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1 TSAN_OPTIONS: suppressions=test/core/util/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1
ubsan: ubsan:
CC: clang CC: clang
CPPFLAGS: -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=undefined CPPFLAGS: -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=undefined
@ -127,7 +127,7 @@ configs:
LDXX: clang++ LDXX: clang++
compile_the_world: true compile_the_world: true
test_environ: test_environ:
UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1:suppressions=test/core/test_util/ubsan_suppressions.txt UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1:suppressions=test/core/util/ubsan_suppressions.txt
defaults: defaults:
boringssl: boringssl:
CFLAGS: -g CFLAGS: -g

View File

@ -8,7 +8,6 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
@_gRPC_FIND_CARES@ @_gRPC_FIND_CARES@
@_gRPC_FIND_ABSL@ @_gRPC_FIND_ABSL@
@_gRPC_FIND_RE2@ @_gRPC_FIND_RE2@
@_gRPC_FIND_OPENTELEMETRY@
# Targets # Targets
include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake)

234
config.m4 generated
View File

@ -41,11 +41,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_SUBST(GRPC_SHARED_LIBADD) PHP_SUBST(GRPC_SHARED_LIBADD)
PHP_NEW_EXTENSION(grpc, PHP_NEW_EXTENSION(grpc,
src/core/channelz/channel_trace.cc \
src/core/channelz/channelz.cc \
src/core/channelz/channelz_registry.cc \
src/core/client_channel/backup_poller.cc \ src/core/client_channel/backup_poller.cc \
src/core/client_channel/client_channel.cc \ src/core/client_channel/client_channel_channelz.cc \
src/core/client_channel/client_channel_factory.cc \ src/core/client_channel/client_channel_factory.cc \
src/core/client_channel/client_channel_filter.cc \ src/core/client_channel/client_channel_filter.cc \
src/core/client_channel/client_channel_plugin.cc \ src/core/client_channel/client_channel_plugin.cc \
@ -53,7 +50,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/client_channel/config_selector.cc \ src/core/client_channel/config_selector.cc \
src/core/client_channel/dynamic_filters.cc \ src/core/client_channel/dynamic_filters.cc \
src/core/client_channel/global_subchannel_pool.cc \ src/core/client_channel/global_subchannel_pool.cc \
src/core/client_channel/load_balanced_call_destination.cc \ src/core/client_channel/http_proxy_mapper.cc \
src/core/client_channel/local_subchannel_pool.cc \ src/core/client_channel/local_subchannel_pool.cc \
src/core/client_channel/retry_filter.cc \ src/core/client_channel/retry_filter.cc \
src/core/client_channel/retry_filter_legacy_call_data.cc \ src/core/client_channel/retry_filter_legacy_call_data.cc \
@ -66,6 +63,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/census/grpc_context.cc \
src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/idle_filter_state.cc \
src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
src/core/ext/filters/deadline/deadline_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
src/core/ext/filters/http/client/http_client_filter.cc \ src/core/ext/filters/http/client/http_client_filter.cc \
@ -76,8 +74,10 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/message_size/message_size_filter.cc \ src/core/ext/filters/message_size/message_size_filter.cc \
src/core/ext/filters/rbac/rbac_filter.cc \ src/core/ext/filters/rbac/rbac_filter.cc \
src/core/ext/filters/rbac/rbac_service_config_parser.cc \ src/core/ext/filters/rbac/rbac_service_config_parser.cc \
src/core/ext/filters/server_config_selector/server_config_selector_filter.cc \
src/core/ext/filters/stateful_session/stateful_session_filter.cc \ src/core/ext/filters/stateful_session/stateful_session_filter.cc \
src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc \ src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc \
src/core/ext/gcp/metadata_query.cc \
src/core/ext/transport/chttp2/alpn/alpn.cc \ src/core/ext/transport/chttp2/alpn/alpn.cc \
src/core/ext/transport/chttp2/client/chttp2_connector.cc \ src/core/ext/transport/chttp2/client/chttp2_connector.cc \
src/core/ext/transport/chttp2/server/chttp2_server.cc \ src/core/ext/transport/chttp2/server/chttp2_server.cc \
@ -99,6 +99,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/transport/chttp2/transport/hpack_parser.cc \ src/core/ext/transport/chttp2/transport/hpack_parser.cc \
src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \ src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \
src/core/ext/transport/chttp2/transport/http2_settings.cc \ src/core/ext/transport/chttp2/transport/http2_settings.cc \
src/core/ext/transport/chttp2/transport/http_trace.cc \
src/core/ext/transport/chttp2/transport/huffsyms.cc \ src/core/ext/transport/chttp2/transport/huffsyms.cc \
src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \ src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \
src/core/ext/transport/chttp2/transport/parsing.cc \ src/core/ext/transport/chttp2/transport/parsing.cc \
@ -109,6 +110,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/transport/chttp2/transport/varint.cc \ src/core/ext/transport/chttp2/transport/varint.cc \
src/core/ext/transport/chttp2/transport/write_size_policy.cc \ src/core/ext/transport/chttp2/transport/write_size_policy.cc \
src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/chttp2/transport/writing.cc \
src/core/ext/transport/inproc/inproc_plugin.cc \
src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.cc \
src/core/ext/transport/inproc/legacy_inproc_transport.cc \ src/core/ext/transport/inproc/legacy_inproc_transport.cc \
src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \ src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
@ -428,26 +430,50 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \ src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \
src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc \ src/core/ext/xds/certificate_provider_store.cc \
src/core/handshaker/handshaker.cc \ src/core/ext/xds/file_watcher_certificate_provider_factory.cc \
src/core/handshaker/handshaker_registry.cc \ src/core/ext/xds/xds_api.cc \
src/core/handshaker/http_connect/http_connect_handshaker.cc \ src/core/ext/xds/xds_audit_logger_registry.cc \
src/core/handshaker/http_connect/http_proxy_mapper.cc \ src/core/ext/xds/xds_bootstrap.cc \
src/core/handshaker/proxy_mapper_registry.cc \ src/core/ext/xds/xds_bootstrap_grpc.cc \
src/core/handshaker/security/secure_endpoint.cc \ src/core/ext/xds/xds_certificate_provider.cc \
src/core/handshaker/security/security_handshaker.cc \ src/core/ext/xds/xds_channel_stack_modifier.cc \
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \ src/core/ext/xds/xds_client.cc \
src/core/ext/xds/xds_client_grpc.cc \
src/core/ext/xds/xds_client_stats.cc \
src/core/ext/xds/xds_cluster.cc \
src/core/ext/xds/xds_cluster_specifier_plugin.cc \
src/core/ext/xds/xds_common_types.cc \
src/core/ext/xds/xds_endpoint.cc \
src/core/ext/xds/xds_health_status.cc \
src/core/ext/xds/xds_http_fault_filter.cc \
src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_listener.cc \
src/core/ext/xds/xds_route_config.cc \
src/core/ext/xds/xds_routing.cc \
src/core/ext/xds/xds_server_config_fetcher.cc \
src/core/ext/xds/xds_transport_grpc.cc \
src/core/lib/address_utils/parse_address.cc \ src/core/lib/address_utils/parse_address.cc \
src/core/lib/address_utils/sockaddr_utils.cc \ src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \ src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \ src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/call_tracer.cc \
src/core/lib/channel/channel_args.cc \ src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \ src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \ src/core/lib/channel/channel_stack.cc \
src/core/lib/channel/channel_stack_builder.cc \ src/core/lib/channel/channel_stack_builder.cc \
src/core/lib/channel/channel_stack_builder_impl.cc \ src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/channel_trace.cc \
src/core/lib/channel/channelz.cc \
src/core/lib/channel/channelz_registry.cc \
src/core/lib/channel/connected_channel.cc \ src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \ src/core/lib/channel/promise_based_filter.cc \
src/core/lib/channel/server_call_tracer_filter.cc \
src/core/lib/channel/status_util.cc \ src/core/lib/channel/status_util.cc \
src/core/lib/compression/compression.cc \ src/core/lib/compression/compression.cc \
src/core/lib/compression/compression_internal.cc \ src/core/lib/compression/compression_internal.cc \
@ -457,8 +483,10 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/config/core_configuration.cc \ src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \ src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \ src/core/lib/debug/event_log.cc \
src/core/lib/debug/histogram_view.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \ src/core/lib/debug/trace.cc \
src/core/lib/debug/trace_flags.cc \
src/core/lib/event_engine/ares_resolver.cc \ src/core/lib/event_engine/ares_resolver.cc \
src/core/lib/event_engine/cf_engine/cf_engine.cc \ src/core/lib/event_engine/cf_engine/cf_engine.cc \
src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
@ -497,6 +525,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \ src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \
src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc \ src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc \
src/core/lib/event_engine/time_util.cc \ src/core/lib/event_engine/time_util.cc \
src/core/lib/event_engine/trace.cc \
src/core/lib/event_engine/utils.cc \ src/core/lib/event_engine/utils.cc \
src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc \ src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc \
src/core/lib/event_engine/windows/iocp.cc \ src/core/lib/event_engine/windows/iocp.cc \
@ -508,11 +537,35 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/event_engine/work_queue/basic_work_queue.cc \ src/core/lib/event_engine/work_queue/basic_work_queue.cc \
src/core/lib/experiments/config.cc \ src/core/lib/experiments/config.cc \
src/core/lib/experiments/experiments.cc \ src/core/lib/experiments/experiments.cc \
src/core/lib/gpr/alloc.cc \
src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
src/core/lib/gpr/iphone/cpu.cc \
src/core/lib/gpr/linux/cpu.cc \
src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
src/core/lib/gpr/msys/tmpfile.cc \
src/core/lib/gpr/posix/cpu.cc \
src/core/lib/gpr/posix/log.cc \
src/core/lib/gpr/posix/string.cc \
src/core/lib/gpr/posix/sync.cc \
src/core/lib/gpr/posix/time.cc \
src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/string.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
src/core/lib/gpr/time.cc \
src/core/lib/gpr/time_precise.cc \
src/core/lib/gpr/windows/cpu.cc \
src/core/lib/gpr/windows/log.cc \
src/core/lib/gpr/windows/string.cc \
src/core/lib/gpr/windows/string_util.cc \
src/core/lib/gpr/windows/sync.cc \
src/core/lib/gpr/windows/time.cc \
src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gprpp/crash.cc \ src/core/lib/gprpp/crash.cc \
src/core/lib/gprpp/dump_args.cc \
src/core/lib/gprpp/examine_stack.cc \ src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \ src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/glob.cc \
src/core/lib/gprpp/host_port.cc \ src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/linux/env.cc \ src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \ src/core/lib/gprpp/load_file.cc \
@ -536,6 +589,11 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/gprpp/windows/stat.cc \ src/core/lib/gprpp/windows/stat.cc \
src/core/lib/gprpp/windows/thd.cc \ src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \ src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
src/core/lib/http/httpcli.cc \
src/core/lib/http/httpcli_security_connector.cc \
src/core/lib/http/parser.cc \
src/core/lib/iomgr/buffer_list.cc \ src/core/lib/iomgr/buffer_list.cc \
src/core/lib/iomgr/call_combiner.cc \ src/core/lib/iomgr/call_combiner.cc \
src/core/lib/iomgr/cfstream_handle.cc \ src/core/lib/iomgr/cfstream_handle.cc \
@ -552,6 +610,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/iomgr/ev_epoll1_linux.cc \ src/core/lib/iomgr/ev_epoll1_linux.cc \
src/core/lib/iomgr/ev_poll_posix.cc \ src/core/lib/iomgr/ev_poll_posix.cc \
src/core/lib/iomgr/ev_posix.cc \ src/core/lib/iomgr/ev_posix.cc \
src/core/lib/iomgr/ev_windows.cc \
src/core/lib/iomgr/event_engine_shims/closure.cc \ src/core/lib/iomgr/event_engine_shims/closure.cc \
src/core/lib/iomgr/event_engine_shims/endpoint.cc \ src/core/lib/iomgr/event_engine_shims/endpoint.cc \
src/core/lib/iomgr/event_engine_shims/tcp_client.cc \ src/core/lib/iomgr/event_engine_shims/tcp_client.cc \
@ -612,10 +671,15 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/iomgr/wakeup_fd_nospecial.cc \ src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \ src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \ src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/json/json_object_loader.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/matchers/matchers.cc \ src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \ src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \ src/core/lib/promise/party.cc \
src/core/lib/promise/sleep.cc \ src/core/lib/promise/sleep.cc \
src/core/lib/promise/trace.cc \
src/core/lib/resource_quota/api.cc \ src/core/lib/resource_quota/api.cc \
src/core/lib/resource_quota/arena.cc \ src/core/lib/resource_quota/arena.cc \
src/core/lib/resource_quota/connection_quota.cc \ src/core/lib/resource_quota/connection_quota.cc \
@ -623,6 +687,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/resource_quota/periodic_update.cc \ src/core/lib/resource_quota/periodic_update.cc \
src/core/lib/resource_quota/resource_quota.cc \ src/core/lib/resource_quota/resource_quota.cc \
src/core/lib/resource_quota/thread_quota.cc \ src/core/lib/resource_quota/thread_quota.cc \
src/core/lib/resource_quota/trace.cc \
src/core/lib/security/authorization/audit_logging.cc \ src/core/lib/security/authorization/audit_logging.cc \
src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \ src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \
src/core/lib/security/authorization/evaluate_args.cc \ src/core/lib/security/authorization/evaluate_args.cc \
@ -683,49 +748,57 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/security/security_connector/ssl_utils.cc \ src/core/lib/security/security_connector/ssl_utils.cc \
src/core/lib/security/security_connector/tls/tls_security_connector.cc \ src/core/lib/security/security_connector/tls/tls_security_connector.cc \
src/core/lib/security/transport/client_auth_filter.cc \ src/core/lib/security/transport/client_auth_filter.cc \
src/core/lib/security/transport/secure_endpoint.cc \
src/core/lib/security/transport/security_handshaker.cc \
src/core/lib/security/transport/server_auth_filter.cc \ src/core/lib/security/transport/server_auth_filter.cc \
src/core/lib/security/transport/tsi_error.cc \
src/core/lib/security/util/json_util.cc \ src/core/lib/security/util/json_util.cc \
src/core/lib/slice/percent_encoding.cc \ src/core/lib/slice/percent_encoding.cc \
src/core/lib/slice/slice.cc \ src/core/lib/slice/slice.cc \
src/core/lib/slice/slice_buffer.cc \ src/core/lib/slice/slice_buffer.cc \
src/core/lib/slice/slice_refcount.cc \
src/core/lib/slice/slice_string_helpers.cc \ src/core/lib/slice/slice_string_helpers.cc \
src/core/lib/surface/api_trace.cc \
src/core/lib/surface/byte_buffer.cc \ src/core/lib/surface/byte_buffer.cc \
src/core/lib/surface/byte_buffer_reader.cc \ src/core/lib/surface/byte_buffer_reader.cc \
src/core/lib/surface/call.cc \ src/core/lib/surface/call.cc \
src/core/lib/surface/call_details.cc \ src/core/lib/surface/call_details.cc \
src/core/lib/surface/call_log_batch.cc \ src/core/lib/surface/call_log_batch.cc \
src/core/lib/surface/call_utils.cc \
src/core/lib/surface/channel.cc \ src/core/lib/surface/channel.cc \
src/core/lib/surface/channel_create.cc \ src/core/lib/surface/channel_create.cc \
src/core/lib/surface/channel_init.cc \ src/core/lib/surface/channel_init.cc \
src/core/lib/surface/channel_stack_type.cc \ src/core/lib/surface/channel_stack_type.cc \
src/core/lib/surface/client_call.cc \
src/core/lib/surface/completion_queue.cc \ src/core/lib/surface/completion_queue.cc \
src/core/lib/surface/completion_queue_factory.cc \ src/core/lib/surface/completion_queue_factory.cc \
src/core/lib/surface/event_string.cc \ src/core/lib/surface/event_string.cc \
src/core/lib/surface/filter_stack_call.cc \
src/core/lib/surface/init.cc \ src/core/lib/surface/init.cc \
src/core/lib/surface/init_internally.cc \ src/core/lib/surface/init_internally.cc \
src/core/lib/surface/lame_client.cc \ src/core/lib/surface/lame_client.cc \
src/core/lib/surface/legacy_channel.cc \ src/core/lib/surface/legacy_channel.cc \
src/core/lib/surface/metadata_array.cc \ src/core/lib/surface/metadata_array.cc \
src/core/lib/surface/server_call.cc \ src/core/lib/surface/server.cc \
src/core/lib/surface/validate_metadata.cc \ src/core/lib/surface/validate_metadata.cc \
src/core/lib/surface/version.cc \ src/core/lib/surface/version.cc \
src/core/lib/surface/wait_for_cq_end_op.cc \
src/core/lib/transport/batch_builder.cc \
src/core/lib/transport/bdp_estimator.cc \ src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/call_arena_allocator.cc \
src/core/lib/transport/call_filters.cc \ src/core/lib/transport/call_filters.cc \
src/core/lib/transport/call_final_info.cc \ src/core/lib/transport/call_final_info.cc \
src/core/lib/transport/call_size_estimator.cc \
src/core/lib/transport/call_spine.cc \ src/core/lib/transport/call_spine.cc \
src/core/lib/transport/connectivity_state.cc \ src/core/lib/transport/connectivity_state.cc \
src/core/lib/transport/endpoint_info_handshaker.cc \
src/core/lib/transport/error_utils.cc \ src/core/lib/transport/error_utils.cc \
src/core/lib/transport/interception_chain.cc \ src/core/lib/transport/handshaker.cc \
src/core/lib/transport/handshaker_registry.cc \
src/core/lib/transport/http_connect_handshaker.cc \
src/core/lib/transport/message.cc \ src/core/lib/transport/message.cc \
src/core/lib/transport/metadata.cc \ src/core/lib/transport/metadata.cc \
src/core/lib/transport/metadata_batch.cc \ src/core/lib/transport/metadata_batch.cc \
src/core/lib/transport/metadata_info.cc \ src/core/lib/transport/metadata_info.cc \
src/core/lib/transport/parsed_metadata.cc \ src/core/lib/transport/parsed_metadata.cc \
src/core/lib/transport/status_conversion.cc \ src/core/lib/transport/status_conversion.cc \
src/core/lib/transport/tcp_connect_handshaker.cc \
src/core/lib/transport/timeout_encoding.cc \ src/core/lib/transport/timeout_encoding.cc \
src/core/lib/transport/transport.cc \ src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \ src/core/lib/transport/transport_op_string.cc \
@ -779,19 +852,10 @@ if test "$PHP_GRPC" != "no"; then
src/core/resolver/sockaddr/sockaddr_resolver.cc \ src/core/resolver/sockaddr/sockaddr_resolver.cc \
src/core/resolver/xds/xds_dependency_manager.cc \ src/core/resolver/xds/xds_dependency_manager.cc \
src/core/resolver/xds/xds_resolver.cc \ src/core/resolver/xds/xds_resolver.cc \
src/core/server/server.cc \ src/core/resolver/xds/xds_resolver_trace.cc \
src/core/server/server_call_tracer_filter.cc \
src/core/server/server_config_selector_filter.cc \
src/core/server/xds_channel_stack_modifier.cc \
src/core/server/xds_server_config_fetcher.cc \
src/core/service_config/service_config_channel_arg_filter.cc \ src/core/service_config/service_config_channel_arg_filter.cc \
src/core/service_config/service_config_impl.cc \ src/core/service_config/service_config_impl.cc \
src/core/service_config/service_config_parser.cc \ src/core/service_config/service_config_parser.cc \
src/core/telemetry/call_tracer.cc \
src/core/telemetry/histogram_view.cc \
src/core/telemetry/metrics.cc \
src/core/telemetry/stats.cc \
src/core/telemetry/stats_data.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \ src/core/tsi/alts/crypt/aes_gcm.cc \
src/core/tsi/alts/crypt/gsec.cc \ src/core/tsi/alts/crypt/gsec.cc \
src/core/tsi/alts/frame_protector/alts_counter.cc \ src/core/tsi/alts/frame_protector/alts_counter.cc \
@ -821,65 +885,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/tsi/ssl_transport_security_utils.cc \ src/core/tsi/ssl_transport_security_utils.cc \
src/core/tsi/transport_security.cc \ src/core/tsi/transport_security.cc \
src/core/tsi/transport_security_grpc.cc \ src/core/tsi/transport_security_grpc.cc \
src/core/util/alloc.cc \
src/core/util/android/log.cc \
src/core/util/atm.cc \
src/core/util/gcp_metadata_query.cc \
src/core/util/http_client/format_request.cc \
src/core/util/http_client/httpcli.cc \
src/core/util/http_client/httpcli_security_connector.cc \
src/core/util/http_client/parser.cc \
src/core/util/iphone/cpu.cc \
src/core/util/json/json_object_loader.cc \
src/core/util/json/json_reader.cc \
src/core/util/json/json_util.cc \
src/core/util/json/json_writer.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/log.cc \
src/core/util/log.cc \
src/core/util/msys/tmpfile.cc \
src/core/util/posix/cpu.cc \
src/core/util/posix/log.cc \
src/core/util/posix/string.cc \
src/core/util/posix/sync.cc \
src/core/util/posix/time.cc \
src/core/util/posix/tmpfile.cc \
src/core/util/string.cc \
src/core/util/sync.cc \
src/core/util/sync_abseil.cc \
src/core/util/time.cc \
src/core/util/time_precise.cc \
src/core/util/windows/cpu.cc \
src/core/util/windows/log.cc \
src/core/util/windows/string.cc \
src/core/util/windows/string_util.cc \
src/core/util/windows/sync.cc \
src/core/util/windows/time.cc \
src/core/util/windows/tmpfile.cc \
src/core/xds/grpc/certificate_provider_store.cc \
src/core/xds/grpc/file_watcher_certificate_provider_factory.cc \
src/core/xds/grpc/xds_audit_logger_registry.cc \
src/core/xds/grpc/xds_bootstrap_grpc.cc \
src/core/xds/grpc/xds_certificate_provider.cc \
src/core/xds/grpc/xds_client_grpc.cc \
src/core/xds/grpc/xds_cluster.cc \
src/core/xds/grpc/xds_cluster_specifier_plugin.cc \
src/core/xds/grpc/xds_common_types.cc \
src/core/xds/grpc/xds_endpoint.cc \
src/core/xds/grpc/xds_health_status.cc \
src/core/xds/grpc/xds_http_fault_filter.cc \
src/core/xds/grpc/xds_http_filters.cc \
src/core/xds/grpc/xds_http_rbac_filter.cc \
src/core/xds/grpc/xds_http_stateful_session_filter.cc \
src/core/xds/grpc/xds_lb_policy_registry.cc \
src/core/xds/grpc/xds_listener.cc \
src/core/xds/grpc/xds_route_config.cc \
src/core/xds/grpc/xds_routing.cc \
src/core/xds/grpc/xds_transport_grpc.cc \
src/core/xds/xds_client/xds_api.cc \
src/core/xds/xds_client/xds_bootstrap.cc \
src/core/xds/xds_client/xds_client.cc \
src/core/xds/xds_client/xds_client_stats.cc \
src/php/ext/grpc/byte_buffer.c \ src/php/ext/grpc/byte_buffer.c \
src/php/ext/grpc/call.c \ src/php/ext/grpc/call.c \
src/php/ext/grpc/call_credentials.c \ src/php/ext/grpc/call_credentials.c \
@ -931,7 +936,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/hash/internal/hash.cc \ third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \ third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \
third_party/abseil-cpp/absl/log/globals.cc \ third_party/abseil-cpp/absl/log/globals.cc \
third_party/abseil-cpp/absl/log/internal/check_op.cc \
third_party/abseil-cpp/absl/log/internal/conditions.cc \ third_party/abseil-cpp/absl/log/internal/conditions.cc \
third_party/abseil-cpp/absl/log/internal/fnmatch.cc \ third_party/abseil-cpp/absl/log/internal/fnmatch.cc \
third_party/abseil-cpp/absl/log/internal/globals.cc \ third_party/abseil-cpp/absl/log/internal/globals.cc \
@ -1030,6 +1034,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/address_sorting/address_sorting.c \ third_party/address_sorting/address_sorting.c \
third_party/address_sorting/address_sorting_posix.c \ third_party/address_sorting/address_sorting_posix.c \
third_party/address_sorting/address_sorting_windows.c \ third_party/address_sorting/address_sorting_windows.c \
third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \ third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@ -1108,7 +1113,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \ third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \ third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \
third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \ third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \
third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c \
third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \
third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \ third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \ third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \
@ -1121,8 +1125,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \ third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \ third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@ -1264,7 +1266,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \ third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
third_party/boringssl-with-bazel/src/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \ third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \ third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \ third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@ -1286,7 +1287,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \ third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
@ -1381,13 +1381,13 @@ if test "$PHP_GRPC" != "no"; then
-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \ -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \ -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
-DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \ -DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.65.0dev\""') -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.64.0dev\""')
PHP_ADD_BUILD_DIR($ext_builddir/src/core/channelz)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/backend_metrics) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/backend_metrics)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/channel_idle) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/channel_idle)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/deadline)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/fault_injection) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/fault_injection)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http/client) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http/client)
@ -1395,7 +1395,9 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http/server) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http/server)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/message_size) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/message_size)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/rbac) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/rbac)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/server_config_selector)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/stateful_session) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/stateful_session)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/gcp)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/alpn) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/alpn)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/client) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/client)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server)
@ -1503,11 +1505,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/core/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/core/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/matcher/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/matcher/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/endpoint_info)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/http_connect)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/security)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/tcp_connect)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/address_utils) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/address_utils)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/backoff) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/backoff)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel)
@ -1522,12 +1520,22 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/windows) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/work_queue) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/work_queue)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/android)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/iphone)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/linux)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/msys)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/posix)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/linux) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/linux)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/posix) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/posix)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/windows) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/handshaker)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/event_engine_shims) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/event_engine_shims)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/matchers) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/matchers)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/promise) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/promise)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/resource_quota) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/resource_quota)
@ -1584,9 +1592,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/google_c2p) PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/google_c2p)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/sockaddr) PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/sockaddr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/xds) PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/server)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/service_config) PHP_ADD_BUILD_DIR($ext_builddir/src/core/service_config)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/telemetry)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/crypt) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/crypt)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/frame_protector) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/frame_protector)
@ -1594,17 +1600,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/zero_copy_frame_protector) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/zero_copy_frame_protector)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/ssl/key_logging) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/ssl/key_logging)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/ssl/session_cache) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/ssl/session_cache)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/android)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/http_client)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/iphone)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/linux)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/msys)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/posix)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/util/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/xds/grpc)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/xds/xds_client)
PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc) PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base/internal) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base/internal)
@ -1633,6 +1628,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting) PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/asn1) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/asn1)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/base64) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/base64)
@ -1648,7 +1644,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/des) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/des)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dh_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dh_extra)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/digest_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/digest_extra)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dilithium)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dsa) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dsa)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ec_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ec_extra)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ecdh_extra) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ecdh_extra)
@ -1676,7 +1671,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/stack) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/stack)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/trust_token) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/trust_token)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/gen/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/ssl) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/ssl)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/re2) PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/re2)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/util) PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/util)

233
config.w32 generated
View File

@ -6,11 +6,8 @@ ARG_WITH("grpc", "grpc support", "no");
if (PHP_GRPC != "no") { if (PHP_GRPC != "no") {
EXTENSION("grpc", EXTENSION("grpc",
"src\\core\\channelz\\channel_trace.cc " +
"src\\core\\channelz\\channelz.cc " +
"src\\core\\channelz\\channelz_registry.cc " +
"src\\core\\client_channel\\backup_poller.cc " + "src\\core\\client_channel\\backup_poller.cc " +
"src\\core\\client_channel\\client_channel.cc " + "src\\core\\client_channel\\client_channel_channelz.cc " +
"src\\core\\client_channel\\client_channel_factory.cc " + "src\\core\\client_channel\\client_channel_factory.cc " +
"src\\core\\client_channel\\client_channel_filter.cc " + "src\\core\\client_channel\\client_channel_filter.cc " +
"src\\core\\client_channel\\client_channel_plugin.cc " + "src\\core\\client_channel\\client_channel_plugin.cc " +
@ -18,7 +15,7 @@ if (PHP_GRPC != "no") {
"src\\core\\client_channel\\config_selector.cc " + "src\\core\\client_channel\\config_selector.cc " +
"src\\core\\client_channel\\dynamic_filters.cc " + "src\\core\\client_channel\\dynamic_filters.cc " +
"src\\core\\client_channel\\global_subchannel_pool.cc " + "src\\core\\client_channel\\global_subchannel_pool.cc " +
"src\\core\\client_channel\\load_balanced_call_destination.cc " + "src\\core\\client_channel\\http_proxy_mapper.cc " +
"src\\core\\client_channel\\local_subchannel_pool.cc " + "src\\core\\client_channel\\local_subchannel_pool.cc " +
"src\\core\\client_channel\\retry_filter.cc " + "src\\core\\client_channel\\retry_filter.cc " +
"src\\core\\client_channel\\retry_filter_legacy_call_data.cc " + "src\\core\\client_channel\\retry_filter_legacy_call_data.cc " +
@ -31,6 +28,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\census\\grpc_context.cc " + "src\\core\\ext\\filters\\census\\grpc_context.cc " +
"src\\core\\ext\\filters\\channel_idle\\idle_filter_state.cc " + "src\\core\\ext\\filters\\channel_idle\\idle_filter_state.cc " +
"src\\core\\ext\\filters\\channel_idle\\legacy_channel_idle_filter.cc " + "src\\core\\ext\\filters\\channel_idle\\legacy_channel_idle_filter.cc " +
"src\\core\\ext\\filters\\deadline\\deadline_filter.cc " +
"src\\core\\ext\\filters\\fault_injection\\fault_injection_filter.cc " + "src\\core\\ext\\filters\\fault_injection\\fault_injection_filter.cc " +
"src\\core\\ext\\filters\\fault_injection\\fault_injection_service_config_parser.cc " + "src\\core\\ext\\filters\\fault_injection\\fault_injection_service_config_parser.cc " +
"src\\core\\ext\\filters\\http\\client\\http_client_filter.cc " + "src\\core\\ext\\filters\\http\\client\\http_client_filter.cc " +
@ -41,8 +39,10 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\message_size\\message_size_filter.cc " + "src\\core\\ext\\filters\\message_size\\message_size_filter.cc " +
"src\\core\\ext\\filters\\rbac\\rbac_filter.cc " + "src\\core\\ext\\filters\\rbac\\rbac_filter.cc " +
"src\\core\\ext\\filters\\rbac\\rbac_service_config_parser.cc " + "src\\core\\ext\\filters\\rbac\\rbac_service_config_parser.cc " +
"src\\core\\ext\\filters\\server_config_selector\\server_config_selector_filter.cc " +
"src\\core\\ext\\filters\\stateful_session\\stateful_session_filter.cc " + "src\\core\\ext\\filters\\stateful_session\\stateful_session_filter.cc " +
"src\\core\\ext\\filters\\stateful_session\\stateful_session_service_config_parser.cc " + "src\\core\\ext\\filters\\stateful_session\\stateful_session_service_config_parser.cc " +
"src\\core\\ext\\gcp\\metadata_query.cc " +
"src\\core\\ext\\transport\\chttp2\\alpn\\alpn.cc " + "src\\core\\ext\\transport\\chttp2\\alpn\\alpn.cc " +
"src\\core\\ext\\transport\\chttp2\\client\\chttp2_connector.cc " + "src\\core\\ext\\transport\\chttp2\\client\\chttp2_connector.cc " +
"src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.cc " + "src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.cc " +
@ -64,6 +64,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser_table.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\hpack_parser_table.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\http2_settings.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\http2_settings.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\http_trace.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\huffsyms.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\huffsyms.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\max_concurrent_streams_policy.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\max_concurrent_streams_policy.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\parsing.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\parsing.cc " +
@ -74,6 +75,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\transport\\chttp2\\transport\\varint.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\varint.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\write_size_policy.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\write_size_policy.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\writing.cc " + "src\\core\\ext\\transport\\chttp2\\transport\\writing.cc " +
"src\\core\\ext\\transport\\inproc\\inproc_plugin.cc " +
"src\\core\\ext\\transport\\inproc\\inproc_transport.cc " + "src\\core\\ext\\transport\\inproc\\inproc_transport.cc " +
"src\\core\\ext\\transport\\inproc\\legacy_inproc_transport.cc " + "src\\core\\ext\\transport\\inproc\\legacy_inproc_transport.cc " +
"src\\core\\ext\\upb-gen\\envoy\\admin\\v3\\certs.upb_minitable.c " + "src\\core\\ext\\upb-gen\\envoy\\admin\\v3\\certs.upb_minitable.c " +
@ -393,26 +395,50 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\cel.upbdefs.c " + "src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\cel.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\range.upbdefs.c " + "src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\range.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\typed_struct.upbdefs.c " + "src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\typed_struct.upbdefs.c " +
"src\\core\\handshaker\\endpoint_info\\endpoint_info_handshaker.cc " + "src\\core\\ext\\xds\\certificate_provider_store.cc " +
"src\\core\\handshaker\\handshaker.cc " + "src\\core\\ext\\xds\\file_watcher_certificate_provider_factory.cc " +
"src\\core\\handshaker\\handshaker_registry.cc " + "src\\core\\ext\\xds\\xds_api.cc " +
"src\\core\\handshaker\\http_connect\\http_connect_handshaker.cc " + "src\\core\\ext\\xds\\xds_audit_logger_registry.cc " +
"src\\core\\handshaker\\http_connect\\http_proxy_mapper.cc " + "src\\core\\ext\\xds\\xds_bootstrap.cc " +
"src\\core\\handshaker\\proxy_mapper_registry.cc " + "src\\core\\ext\\xds\\xds_bootstrap_grpc.cc " +
"src\\core\\handshaker\\security\\secure_endpoint.cc " + "src\\core\\ext\\xds\\xds_certificate_provider.cc " +
"src\\core\\handshaker\\security\\security_handshaker.cc " + "src\\core\\ext\\xds\\xds_channel_stack_modifier.cc " +
"src\\core\\handshaker\\tcp_connect\\tcp_connect_handshaker.cc " + "src\\core\\ext\\xds\\xds_client.cc " +
"src\\core\\ext\\xds\\xds_client_grpc.cc " +
"src\\core\\ext\\xds\\xds_client_stats.cc " +
"src\\core\\ext\\xds\\xds_cluster.cc " +
"src\\core\\ext\\xds\\xds_cluster_specifier_plugin.cc " +
"src\\core\\ext\\xds\\xds_common_types.cc " +
"src\\core\\ext\\xds\\xds_endpoint.cc " +
"src\\core\\ext\\xds\\xds_health_status.cc " +
"src\\core\\ext\\xds\\xds_http_fault_filter.cc " +
"src\\core\\ext\\xds\\xds_http_filters.cc " +
"src\\core\\ext\\xds\\xds_http_rbac_filter.cc " +
"src\\core\\ext\\xds\\xds_http_stateful_session_filter.cc " +
"src\\core\\ext\\xds\\xds_lb_policy_registry.cc " +
"src\\core\\ext\\xds\\xds_listener.cc " +
"src\\core\\ext\\xds\\xds_route_config.cc " +
"src\\core\\ext\\xds\\xds_routing.cc " +
"src\\core\\ext\\xds\\xds_server_config_fetcher.cc " +
"src\\core\\ext\\xds\\xds_transport_grpc.cc " +
"src\\core\\lib\\address_utils\\parse_address.cc " + "src\\core\\lib\\address_utils\\parse_address.cc " +
"src\\core\\lib\\address_utils\\sockaddr_utils.cc " + "src\\core\\lib\\address_utils\\sockaddr_utils.cc " +
"src\\core\\lib\\backoff\\backoff.cc " + "src\\core\\lib\\backoff\\backoff.cc " +
"src\\core\\lib\\backoff\\random_early_detection.cc " + "src\\core\\lib\\backoff\\random_early_detection.cc " +
"src\\core\\lib\\channel\\call_tracer.cc " +
"src\\core\\lib\\channel\\channel_args.cc " + "src\\core\\lib\\channel\\channel_args.cc " +
"src\\core\\lib\\channel\\channel_args_preconditioning.cc " + "src\\core\\lib\\channel\\channel_args_preconditioning.cc " +
"src\\core\\lib\\channel\\channel_stack.cc " + "src\\core\\lib\\channel\\channel_stack.cc " +
"src\\core\\lib\\channel\\channel_stack_builder.cc " + "src\\core\\lib\\channel\\channel_stack_builder.cc " +
"src\\core\\lib\\channel\\channel_stack_builder_impl.cc " + "src\\core\\lib\\channel\\channel_stack_builder_impl.cc " +
"src\\core\\lib\\channel\\channel_stack_trace.cc " +
"src\\core\\lib\\channel\\channel_trace.cc " +
"src\\core\\lib\\channel\\channelz.cc " +
"src\\core\\lib\\channel\\channelz_registry.cc " +
"src\\core\\lib\\channel\\connected_channel.cc " + "src\\core\\lib\\channel\\connected_channel.cc " +
"src\\core\\lib\\channel\\metrics.cc " +
"src\\core\\lib\\channel\\promise_based_filter.cc " + "src\\core\\lib\\channel\\promise_based_filter.cc " +
"src\\core\\lib\\channel\\server_call_tracer_filter.cc " +
"src\\core\\lib\\channel\\status_util.cc " + "src\\core\\lib\\channel\\status_util.cc " +
"src\\core\\lib\\compression\\compression.cc " + "src\\core\\lib\\compression\\compression.cc " +
"src\\core\\lib\\compression\\compression_internal.cc " + "src\\core\\lib\\compression\\compression_internal.cc " +
@ -422,8 +448,10 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\config\\core_configuration.cc " + "src\\core\\lib\\config\\core_configuration.cc " +
"src\\core\\lib\\config\\load_config.cc " + "src\\core\\lib\\config\\load_config.cc " +
"src\\core\\lib\\debug\\event_log.cc " + "src\\core\\lib\\debug\\event_log.cc " +
"src\\core\\lib\\debug\\histogram_view.cc " +
"src\\core\\lib\\debug\\stats.cc " +
"src\\core\\lib\\debug\\stats_data.cc " +
"src\\core\\lib\\debug\\trace.cc " + "src\\core\\lib\\debug\\trace.cc " +
"src\\core\\lib\\debug\\trace_flags.cc " +
"src\\core\\lib\\event_engine\\ares_resolver.cc " + "src\\core\\lib\\event_engine\\ares_resolver.cc " +
"src\\core\\lib\\event_engine\\cf_engine\\cf_engine.cc " + "src\\core\\lib\\event_engine\\cf_engine\\cf_engine.cc " +
"src\\core\\lib\\event_engine\\cf_engine\\cfstream_endpoint.cc " + "src\\core\\lib\\event_engine\\cf_engine\\cfstream_endpoint.cc " +
@ -462,6 +490,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\event_engine\\thread_pool\\work_stealing_thread_pool.cc " + "src\\core\\lib\\event_engine\\thread_pool\\work_stealing_thread_pool.cc " +
"src\\core\\lib\\event_engine\\thready_event_engine\\thready_event_engine.cc " + "src\\core\\lib\\event_engine\\thready_event_engine\\thready_event_engine.cc " +
"src\\core\\lib\\event_engine\\time_util.cc " + "src\\core\\lib\\event_engine\\time_util.cc " +
"src\\core\\lib\\event_engine\\trace.cc " +
"src\\core\\lib\\event_engine\\utils.cc " + "src\\core\\lib\\event_engine\\utils.cc " +
"src\\core\\lib\\event_engine\\windows\\grpc_polled_fd_windows.cc " + "src\\core\\lib\\event_engine\\windows\\grpc_polled_fd_windows.cc " +
"src\\core\\lib\\event_engine\\windows\\iocp.cc " + "src\\core\\lib\\event_engine\\windows\\iocp.cc " +
@ -473,11 +502,35 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\event_engine\\work_queue\\basic_work_queue.cc " + "src\\core\\lib\\event_engine\\work_queue\\basic_work_queue.cc " +
"src\\core\\lib\\experiments\\config.cc " + "src\\core\\lib\\experiments\\config.cc " +
"src\\core\\lib\\experiments\\experiments.cc " + "src\\core\\lib\\experiments\\experiments.cc " +
"src\\core\\lib\\gpr\\alloc.cc " +
"src\\core\\lib\\gpr\\android\\log.cc " +
"src\\core\\lib\\gpr\\atm.cc " +
"src\\core\\lib\\gpr\\iphone\\cpu.cc " +
"src\\core\\lib\\gpr\\linux\\cpu.cc " +
"src\\core\\lib\\gpr\\linux\\log.cc " +
"src\\core\\lib\\gpr\\log.cc " +
"src\\core\\lib\\gpr\\msys\\tmpfile.cc " +
"src\\core\\lib\\gpr\\posix\\cpu.cc " +
"src\\core\\lib\\gpr\\posix\\log.cc " +
"src\\core\\lib\\gpr\\posix\\string.cc " +
"src\\core\\lib\\gpr\\posix\\sync.cc " +
"src\\core\\lib\\gpr\\posix\\time.cc " +
"src\\core\\lib\\gpr\\posix\\tmpfile.cc " +
"src\\core\\lib\\gpr\\string.cc " +
"src\\core\\lib\\gpr\\sync.cc " +
"src\\core\\lib\\gpr\\sync_abseil.cc " +
"src\\core\\lib\\gpr\\time.cc " +
"src\\core\\lib\\gpr\\time_precise.cc " +
"src\\core\\lib\\gpr\\windows\\cpu.cc " +
"src\\core\\lib\\gpr\\windows\\log.cc " +
"src\\core\\lib\\gpr\\windows\\string.cc " +
"src\\core\\lib\\gpr\\windows\\string_util.cc " +
"src\\core\\lib\\gpr\\windows\\sync.cc " +
"src\\core\\lib\\gpr\\windows\\time.cc " +
"src\\core\\lib\\gpr\\windows\\tmpfile.cc " +
"src\\core\\lib\\gprpp\\crash.cc " + "src\\core\\lib\\gprpp\\crash.cc " +
"src\\core\\lib\\gprpp\\dump_args.cc " +
"src\\core\\lib\\gprpp\\examine_stack.cc " + "src\\core\\lib\\gprpp\\examine_stack.cc " +
"src\\core\\lib\\gprpp\\fork.cc " + "src\\core\\lib\\gprpp\\fork.cc " +
"src\\core\\lib\\gprpp\\glob.cc " +
"src\\core\\lib\\gprpp\\host_port.cc " + "src\\core\\lib\\gprpp\\host_port.cc " +
"src\\core\\lib\\gprpp\\linux\\env.cc " + "src\\core\\lib\\gprpp\\linux\\env.cc " +
"src\\core\\lib\\gprpp\\load_file.cc " + "src\\core\\lib\\gprpp\\load_file.cc " +
@ -501,6 +554,11 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\gprpp\\windows\\stat.cc " + "src\\core\\lib\\gprpp\\windows\\stat.cc " +
"src\\core\\lib\\gprpp\\windows\\thd.cc " + "src\\core\\lib\\gprpp\\windows\\thd.cc " +
"src\\core\\lib\\gprpp\\work_serializer.cc " + "src\\core\\lib\\gprpp\\work_serializer.cc " +
"src\\core\\lib\\handshaker\\proxy_mapper_registry.cc " +
"src\\core\\lib\\http\\format_request.cc " +
"src\\core\\lib\\http\\httpcli.cc " +
"src\\core\\lib\\http\\httpcli_security_connector.cc " +
"src\\core\\lib\\http\\parser.cc " +
"src\\core\\lib\\iomgr\\buffer_list.cc " + "src\\core\\lib\\iomgr\\buffer_list.cc " +
"src\\core\\lib\\iomgr\\call_combiner.cc " + "src\\core\\lib\\iomgr\\call_combiner.cc " +
"src\\core\\lib\\iomgr\\cfstream_handle.cc " + "src\\core\\lib\\iomgr\\cfstream_handle.cc " +
@ -517,6 +575,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\iomgr\\ev_epoll1_linux.cc " + "src\\core\\lib\\iomgr\\ev_epoll1_linux.cc " +
"src\\core\\lib\\iomgr\\ev_poll_posix.cc " + "src\\core\\lib\\iomgr\\ev_poll_posix.cc " +
"src\\core\\lib\\iomgr\\ev_posix.cc " + "src\\core\\lib\\iomgr\\ev_posix.cc " +
"src\\core\\lib\\iomgr\\ev_windows.cc " +
"src\\core\\lib\\iomgr\\event_engine_shims\\closure.cc " + "src\\core\\lib\\iomgr\\event_engine_shims\\closure.cc " +
"src\\core\\lib\\iomgr\\event_engine_shims\\endpoint.cc " + "src\\core\\lib\\iomgr\\event_engine_shims\\endpoint.cc " +
"src\\core\\lib\\iomgr\\event_engine_shims\\tcp_client.cc " + "src\\core\\lib\\iomgr\\event_engine_shims\\tcp_client.cc " +
@ -577,10 +636,15 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " + "src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_pipe.cc " + "src\\core\\lib\\iomgr\\wakeup_fd_pipe.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_posix.cc " + "src\\core\\lib\\iomgr\\wakeup_fd_posix.cc " +
"src\\core\\lib\\json\\json_object_loader.cc " +
"src\\core\\lib\\json\\json_reader.cc " +
"src\\core\\lib\\json\\json_util.cc " +
"src\\core\\lib\\json\\json_writer.cc " +
"src\\core\\lib\\matchers\\matchers.cc " + "src\\core\\lib\\matchers\\matchers.cc " +
"src\\core\\lib\\promise\\activity.cc " + "src\\core\\lib\\promise\\activity.cc " +
"src\\core\\lib\\promise\\party.cc " + "src\\core\\lib\\promise\\party.cc " +
"src\\core\\lib\\promise\\sleep.cc " + "src\\core\\lib\\promise\\sleep.cc " +
"src\\core\\lib\\promise\\trace.cc " +
"src\\core\\lib\\resource_quota\\api.cc " + "src\\core\\lib\\resource_quota\\api.cc " +
"src\\core\\lib\\resource_quota\\arena.cc " + "src\\core\\lib\\resource_quota\\arena.cc " +
"src\\core\\lib\\resource_quota\\connection_quota.cc " + "src\\core\\lib\\resource_quota\\connection_quota.cc " +
@ -588,6 +652,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\resource_quota\\periodic_update.cc " + "src\\core\\lib\\resource_quota\\periodic_update.cc " +
"src\\core\\lib\\resource_quota\\resource_quota.cc " + "src\\core\\lib\\resource_quota\\resource_quota.cc " +
"src\\core\\lib\\resource_quota\\thread_quota.cc " + "src\\core\\lib\\resource_quota\\thread_quota.cc " +
"src\\core\\lib\\resource_quota\\trace.cc " +
"src\\core\\lib\\security\\authorization\\audit_logging.cc " + "src\\core\\lib\\security\\authorization\\audit_logging.cc " +
"src\\core\\lib\\security\\authorization\\authorization_policy_provider_vtable.cc " + "src\\core\\lib\\security\\authorization\\authorization_policy_provider_vtable.cc " +
"src\\core\\lib\\security\\authorization\\evaluate_args.cc " + "src\\core\\lib\\security\\authorization\\evaluate_args.cc " +
@ -648,49 +713,57 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\security\\security_connector\\ssl_utils.cc " + "src\\core\\lib\\security\\security_connector\\ssl_utils.cc " +
"src\\core\\lib\\security\\security_connector\\tls\\tls_security_connector.cc " + "src\\core\\lib\\security\\security_connector\\tls\\tls_security_connector.cc " +
"src\\core\\lib\\security\\transport\\client_auth_filter.cc " + "src\\core\\lib\\security\\transport\\client_auth_filter.cc " +
"src\\core\\lib\\security\\transport\\secure_endpoint.cc " +
"src\\core\\lib\\security\\transport\\security_handshaker.cc " +
"src\\core\\lib\\security\\transport\\server_auth_filter.cc " + "src\\core\\lib\\security\\transport\\server_auth_filter.cc " +
"src\\core\\lib\\security\\transport\\tsi_error.cc " +
"src\\core\\lib\\security\\util\\json_util.cc " + "src\\core\\lib\\security\\util\\json_util.cc " +
"src\\core\\lib\\slice\\percent_encoding.cc " + "src\\core\\lib\\slice\\percent_encoding.cc " +
"src\\core\\lib\\slice\\slice.cc " + "src\\core\\lib\\slice\\slice.cc " +
"src\\core\\lib\\slice\\slice_buffer.cc " + "src\\core\\lib\\slice\\slice_buffer.cc " +
"src\\core\\lib\\slice\\slice_refcount.cc " +
"src\\core\\lib\\slice\\slice_string_helpers.cc " + "src\\core\\lib\\slice\\slice_string_helpers.cc " +
"src\\core\\lib\\surface\\api_trace.cc " +
"src\\core\\lib\\surface\\byte_buffer.cc " + "src\\core\\lib\\surface\\byte_buffer.cc " +
"src\\core\\lib\\surface\\byte_buffer_reader.cc " + "src\\core\\lib\\surface\\byte_buffer_reader.cc " +
"src\\core\\lib\\surface\\call.cc " + "src\\core\\lib\\surface\\call.cc " +
"src\\core\\lib\\surface\\call_details.cc " + "src\\core\\lib\\surface\\call_details.cc " +
"src\\core\\lib\\surface\\call_log_batch.cc " + "src\\core\\lib\\surface\\call_log_batch.cc " +
"src\\core\\lib\\surface\\call_utils.cc " +
"src\\core\\lib\\surface\\channel.cc " + "src\\core\\lib\\surface\\channel.cc " +
"src\\core\\lib\\surface\\channel_create.cc " + "src\\core\\lib\\surface\\channel_create.cc " +
"src\\core\\lib\\surface\\channel_init.cc " + "src\\core\\lib\\surface\\channel_init.cc " +
"src\\core\\lib\\surface\\channel_stack_type.cc " + "src\\core\\lib\\surface\\channel_stack_type.cc " +
"src\\core\\lib\\surface\\client_call.cc " +
"src\\core\\lib\\surface\\completion_queue.cc " + "src\\core\\lib\\surface\\completion_queue.cc " +
"src\\core\\lib\\surface\\completion_queue_factory.cc " + "src\\core\\lib\\surface\\completion_queue_factory.cc " +
"src\\core\\lib\\surface\\event_string.cc " + "src\\core\\lib\\surface\\event_string.cc " +
"src\\core\\lib\\surface\\filter_stack_call.cc " +
"src\\core\\lib\\surface\\init.cc " + "src\\core\\lib\\surface\\init.cc " +
"src\\core\\lib\\surface\\init_internally.cc " + "src\\core\\lib\\surface\\init_internally.cc " +
"src\\core\\lib\\surface\\lame_client.cc " + "src\\core\\lib\\surface\\lame_client.cc " +
"src\\core\\lib\\surface\\legacy_channel.cc " + "src\\core\\lib\\surface\\legacy_channel.cc " +
"src\\core\\lib\\surface\\metadata_array.cc " + "src\\core\\lib\\surface\\metadata_array.cc " +
"src\\core\\lib\\surface\\server_call.cc " + "src\\core\\lib\\surface\\server.cc " +
"src\\core\\lib\\surface\\validate_metadata.cc " + "src\\core\\lib\\surface\\validate_metadata.cc " +
"src\\core\\lib\\surface\\version.cc " + "src\\core\\lib\\surface\\version.cc " +
"src\\core\\lib\\surface\\wait_for_cq_end_op.cc " +
"src\\core\\lib\\transport\\batch_builder.cc " +
"src\\core\\lib\\transport\\bdp_estimator.cc " + "src\\core\\lib\\transport\\bdp_estimator.cc " +
"src\\core\\lib\\transport\\call_arena_allocator.cc " +
"src\\core\\lib\\transport\\call_filters.cc " + "src\\core\\lib\\transport\\call_filters.cc " +
"src\\core\\lib\\transport\\call_final_info.cc " + "src\\core\\lib\\transport\\call_final_info.cc " +
"src\\core\\lib\\transport\\call_size_estimator.cc " +
"src\\core\\lib\\transport\\call_spine.cc " + "src\\core\\lib\\transport\\call_spine.cc " +
"src\\core\\lib\\transport\\connectivity_state.cc " + "src\\core\\lib\\transport\\connectivity_state.cc " +
"src\\core\\lib\\transport\\endpoint_info_handshaker.cc " +
"src\\core\\lib\\transport\\error_utils.cc " + "src\\core\\lib\\transport\\error_utils.cc " +
"src\\core\\lib\\transport\\interception_chain.cc " + "src\\core\\lib\\transport\\handshaker.cc " +
"src\\core\\lib\\transport\\handshaker_registry.cc " +
"src\\core\\lib\\transport\\http_connect_handshaker.cc " +
"src\\core\\lib\\transport\\message.cc " + "src\\core\\lib\\transport\\message.cc " +
"src\\core\\lib\\transport\\metadata.cc " + "src\\core\\lib\\transport\\metadata.cc " +
"src\\core\\lib\\transport\\metadata_batch.cc " + "src\\core\\lib\\transport\\metadata_batch.cc " +
"src\\core\\lib\\transport\\metadata_info.cc " + "src\\core\\lib\\transport\\metadata_info.cc " +
"src\\core\\lib\\transport\\parsed_metadata.cc " + "src\\core\\lib\\transport\\parsed_metadata.cc " +
"src\\core\\lib\\transport\\status_conversion.cc " + "src\\core\\lib\\transport\\status_conversion.cc " +
"src\\core\\lib\\transport\\tcp_connect_handshaker.cc " +
"src\\core\\lib\\transport\\timeout_encoding.cc " + "src\\core\\lib\\transport\\timeout_encoding.cc " +
"src\\core\\lib\\transport\\transport.cc " + "src\\core\\lib\\transport\\transport.cc " +
"src\\core\\lib\\transport\\transport_op_string.cc " + "src\\core\\lib\\transport\\transport_op_string.cc " +
@ -744,19 +817,10 @@ if (PHP_GRPC != "no") {
"src\\core\\resolver\\sockaddr\\sockaddr_resolver.cc " + "src\\core\\resolver\\sockaddr\\sockaddr_resolver.cc " +
"src\\core\\resolver\\xds\\xds_dependency_manager.cc " + "src\\core\\resolver\\xds\\xds_dependency_manager.cc " +
"src\\core\\resolver\\xds\\xds_resolver.cc " + "src\\core\\resolver\\xds\\xds_resolver.cc " +
"src\\core\\server\\server.cc " + "src\\core\\resolver\\xds\\xds_resolver_trace.cc " +
"src\\core\\server\\server_call_tracer_filter.cc " +
"src\\core\\server\\server_config_selector_filter.cc " +
"src\\core\\server\\xds_channel_stack_modifier.cc " +
"src\\core\\server\\xds_server_config_fetcher.cc " +
"src\\core\\service_config\\service_config_channel_arg_filter.cc " + "src\\core\\service_config\\service_config_channel_arg_filter.cc " +
"src\\core\\service_config\\service_config_impl.cc " + "src\\core\\service_config\\service_config_impl.cc " +
"src\\core\\service_config\\service_config_parser.cc " + "src\\core\\service_config\\service_config_parser.cc " +
"src\\core\\telemetry\\call_tracer.cc " +
"src\\core\\telemetry\\histogram_view.cc " +
"src\\core\\telemetry\\metrics.cc " +
"src\\core\\telemetry\\stats.cc " +
"src\\core\\telemetry\\stats_data.cc " +
"src\\core\\tsi\\alts\\crypt\\aes_gcm.cc " + "src\\core\\tsi\\alts\\crypt\\aes_gcm.cc " +
"src\\core\\tsi\\alts\\crypt\\gsec.cc " + "src\\core\\tsi\\alts\\crypt\\gsec.cc " +
"src\\core\\tsi\\alts\\frame_protector\\alts_counter.cc " + "src\\core\\tsi\\alts\\frame_protector\\alts_counter.cc " +
@ -786,65 +850,6 @@ if (PHP_GRPC != "no") {
"src\\core\\tsi\\ssl_transport_security_utils.cc " + "src\\core\\tsi\\ssl_transport_security_utils.cc " +
"src\\core\\tsi\\transport_security.cc " + "src\\core\\tsi\\transport_security.cc " +
"src\\core\\tsi\\transport_security_grpc.cc " + "src\\core\\tsi\\transport_security_grpc.cc " +
"src\\core\\util\\alloc.cc " +
"src\\core\\util\\android\\log.cc " +
"src\\core\\util\\atm.cc " +
"src\\core\\util\\gcp_metadata_query.cc " +
"src\\core\\util\\http_client\\format_request.cc " +
"src\\core\\util\\http_client\\httpcli.cc " +
"src\\core\\util\\http_client\\httpcli_security_connector.cc " +
"src\\core\\util\\http_client\\parser.cc " +
"src\\core\\util\\iphone\\cpu.cc " +
"src\\core\\util\\json\\json_object_loader.cc " +
"src\\core\\util\\json\\json_reader.cc " +
"src\\core\\util\\json\\json_util.cc " +
"src\\core\\util\\json\\json_writer.cc " +
"src\\core\\util\\linux\\cpu.cc " +
"src\\core\\util\\linux\\log.cc " +
"src\\core\\util\\log.cc " +
"src\\core\\util\\msys\\tmpfile.cc " +
"src\\core\\util\\posix\\cpu.cc " +
"src\\core\\util\\posix\\log.cc " +
"src\\core\\util\\posix\\string.cc " +
"src\\core\\util\\posix\\sync.cc " +
"src\\core\\util\\posix\\time.cc " +
"src\\core\\util\\posix\\tmpfile.cc " +
"src\\core\\util\\string.cc " +
"src\\core\\util\\sync.cc " +
"src\\core\\util\\sync_abseil.cc " +
"src\\core\\util\\time.cc " +
"src\\core\\util\\time_precise.cc " +
"src\\core\\util\\windows\\cpu.cc " +
"src\\core\\util\\windows\\log.cc " +
"src\\core\\util\\windows\\string.cc " +
"src\\core\\util\\windows\\string_util.cc " +
"src\\core\\util\\windows\\sync.cc " +
"src\\core\\util\\windows\\time.cc " +
"src\\core\\util\\windows\\tmpfile.cc " +
"src\\core\\xds\\grpc\\certificate_provider_store.cc " +
"src\\core\\xds\\grpc\\file_watcher_certificate_provider_factory.cc " +
"src\\core\\xds\\grpc\\xds_audit_logger_registry.cc " +
"src\\core\\xds\\grpc\\xds_bootstrap_grpc.cc " +
"src\\core\\xds\\grpc\\xds_certificate_provider.cc " +
"src\\core\\xds\\grpc\\xds_client_grpc.cc " +
"src\\core\\xds\\grpc\\xds_cluster.cc " +
"src\\core\\xds\\grpc\\xds_cluster_specifier_plugin.cc " +
"src\\core\\xds\\grpc\\xds_common_types.cc " +
"src\\core\\xds\\grpc\\xds_endpoint.cc " +
"src\\core\\xds\\grpc\\xds_health_status.cc " +
"src\\core\\xds\\grpc\\xds_http_fault_filter.cc " +
"src\\core\\xds\\grpc\\xds_http_filters.cc " +
"src\\core\\xds\\grpc\\xds_http_rbac_filter.cc " +
"src\\core\\xds\\grpc\\xds_http_stateful_session_filter.cc " +
"src\\core\\xds\\grpc\\xds_lb_policy_registry.cc " +
"src\\core\\xds\\grpc\\xds_listener.cc " +
"src\\core\\xds\\grpc\\xds_route_config.cc " +
"src\\core\\xds\\grpc\\xds_routing.cc " +
"src\\core\\xds\\grpc\\xds_transport_grpc.cc " +
"src\\core\\xds\\xds_client\\xds_api.cc " +
"src\\core\\xds\\xds_client\\xds_bootstrap.cc " +
"src\\core\\xds\\xds_client\\xds_client.cc " +
"src\\core\\xds\\xds_client\\xds_client_stats.cc " +
"src\\php\\ext\\grpc\\byte_buffer.c " + "src\\php\\ext\\grpc\\byte_buffer.c " +
"src\\php\\ext\\grpc\\call.c " + "src\\php\\ext\\grpc\\call.c " +
"src\\php\\ext\\grpc\\call_credentials.c " + "src\\php\\ext\\grpc\\call_credentials.c " +
@ -896,7 +901,6 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\hash\\internal\\hash.cc " + "third_party\\abseil-cpp\\absl\\hash\\internal\\hash.cc " +
"third_party\\abseil-cpp\\absl\\hash\\internal\\low_level_hash.cc " + "third_party\\abseil-cpp\\absl\\hash\\internal\\low_level_hash.cc " +
"third_party\\abseil-cpp\\absl\\log\\globals.cc " + "third_party\\abseil-cpp\\absl\\log\\globals.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\check_op.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\conditions.cc " + "third_party\\abseil-cpp\\absl\\log\\internal\\conditions.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\fnmatch.cc " + "third_party\\abseil-cpp\\absl\\log\\internal\\fnmatch.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\globals.cc " + "third_party\\abseil-cpp\\absl\\log\\internal\\globals.cc " +
@ -995,6 +999,7 @@ if (PHP_GRPC != "no") {
"third_party\\address_sorting\\address_sorting.c " + "third_party\\address_sorting\\address_sorting.c " +
"third_party\\address_sorting\\address_sorting_posix.c " + "third_party\\address_sorting\\address_sorting_posix.c " +
"third_party\\address_sorting\\address_sorting_windows.c " + "third_party\\address_sorting\\address_sorting_windows.c " +
"third_party\\boringssl-with-bazel\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bitstr.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bitstr.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bool.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bool.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_d2i_fp.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_d2i_fp.c " +
@ -1073,7 +1078,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\dh_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\dh_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\params.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\params.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra\\digest_extra.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra\\digest_extra.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dilithium\\dilithium.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\dsa\\dsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra\\ec_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra\\ec_asn1.c " +
@ -1086,8 +1090,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_ctx.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_ctx.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dsa_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec_asn1.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec_asn1.c " +
@ -1229,7 +1231,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_val.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_val.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509a.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509a.c " +
"third_party\\boringssl-with-bazel\\src\\gen\\crypto\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\ssl\\bio_ssl.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\bio_ssl.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_both.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\d1_both.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_lib.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\d1_lib.cc " +
@ -1251,7 +1252,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_buffer.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_buffer.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cert.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cert.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cipher.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cipher.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_credential.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_file.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_file.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_key_share.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_key_share.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_lib.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_lib.cc " +
@ -1375,13 +1375,13 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc"); FSO.CreateFolder(base_dir+"\\ext\\grpc");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\channelz");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\client_channel"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\client_channel");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\backend_metrics"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\backend_metrics");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\census"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\census");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\channel_idle"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\channel_idle");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\deadline");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\fault_injection"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\fault_injection");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http\\client"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http\\client");
@ -1389,7 +1389,9 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http\\server"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http\\server");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\message_size"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\message_size");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\rbac"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\rbac");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\server_config_selector");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\stateful_session"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\stateful_session");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\gcp");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2\\alpn"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2\\alpn");
@ -1639,11 +1641,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\endpoint_info");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\http_connect");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\security");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\tcp_connect");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\address_utils"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\address_utils");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\backoff"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\backoff");
@ -1659,12 +1657,22 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\windows"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\work_queue"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\work_queue");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\android");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\iphone");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\linux");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\msys");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\posix");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\linux"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\linux");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\posix"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\posix");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\windows"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\handshaker");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr\\event_engine_shims"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr\\event_engine_shims");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\matchers"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\matchers");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\promise"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\promise");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\resource_quota"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\resource_quota");
@ -1722,9 +1730,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\google_c2p"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\google_c2p");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\sockaddr"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\sockaddr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\xds"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\server");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\service_config"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\service_config");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\telemetry");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts\\crypt"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts\\crypt");
@ -1734,18 +1740,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl\\key_logging"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl\\key_logging");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl\\session_cache"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\ssl\\session_cache");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\android");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\http_client");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\iphone");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\linux");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\msys");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\posix");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\util\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\xds\\grpc");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\xds\\xds_client");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext\\grpc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext\\grpc");
@ -1801,7 +1795,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\des"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\des");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dilithium");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dsa"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dsa");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ecdh_extra"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ecdh_extra");
@ -1829,8 +1822,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\stack"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\stack");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\trust_token"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\trust_token");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen\\crypto");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\ssl"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\ssl");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\re2"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\re2");

View File

@ -41,29 +41,110 @@ some configuration as environment variables that can be set.
- legacy - the (deprecated) original polling engine for gRPC - legacy - the (deprecated) original polling engine for gRPC
* GRPC_TRACE * GRPC_TRACE
A comma-separated list of tracer names or glob patterns that provide A comma separated list of tracers that provide additional insight into how
additional insight into how gRPC C core is processing requests via debug logs. gRPC C core is processing requests via debug logs. Available tracers include:
Available tracers and their usage can be found in - api - traces api calls to the C core
[gRPC Trace Flags](trace_flags.md) - bdp_estimator - traces behavior of bdp estimation logic
- call_error - traces the possible errors contributing to final call status
- cares_resolver - traces operations of the c-ares based DNS resolver
- cares_address_sorting - traces operations of the c-ares based DNS
resolver's resolved address sorter
- cds_lb - traces cds LB policy
- channel - traces operations on the C core channel stack
- channel_stack - traces the set of filters in a channel stack upon
construction
- client_channel - traces client channel control plane activity, including
resolver and load balancing policy interaction
- client_channel_call - traces client channel call activity related to name
resolution
- client_channel_lb_call - traces client channel call activity related
to load balancing picking
- compression - traces compression operations
- connectivity_state - traces connectivity state changes to channels
- cronet - traces state in the cronet transport engine
- dns_resolver - traces state in the native DNS resolver
- executor - traces grpc's internal thread pool ('the executor')
- glb - traces the grpclb load balancer
- handshaker - traces handshaking state
- health_check_client - traces health checking client code
- http - traces state in the http2 transport engine
- http2_stream_state - traces all http2 stream state mutations.
- http2_ping - traces pings/ping acks/antagonist writes in http2 stack.
- http1 - traces HTTP/1.x operations performed by gRPC
- inproc - traces the in-process transport
- http_keepalive - traces gRPC keepalive pings
- flowctl - traces http2 flow control
- op_failure - traces error information when failure is pushed onto a
completion queue
- pick_first - traces the pick first load balancing policy
- plugin_credentials - traces plugin credentials
- pollable_refcount - traces reference counting of 'pollable' objects (only
in DEBUG)
- priority_lb - traces priority LB policy
- resource_quota - trace resource quota objects internals
- ring_hash_lb - traces the ring hash load balancing policy
- rls_lb - traces the RLS load balancing policy
- round_robin - traces the round_robin load balancing policy
- weighted_round_robin_lb - traces the weighted_round_robin load balancing
policy
- queue_pluck
- grpc_authz_api - traces gRPC authorization
- server_channel - lightweight trace of significant server channel events
- secure_endpoint - traces bytes flowing through encrypted channels
- subchannel - traces the connectivity state of subchannel
- subchannel_pool - traces subchannel pool
- timer - timers (alarms) in the grpc internals
- timer_check - more detailed trace of timer logic in grpc internals
- transport_security - traces metadata about secure channel establishment
- tcp - traces bytes in and out of a channel
- tsi - traces tsi transport security
- weighted_target_lb - traces weighted_target LB policy
- xds_client - traces xds client
- xds_cluster_manager_lb - traces cluster manager LB policy
- xds_cluster_impl_lb - traces cluster impl LB policy
- xds_resolver - traces xds resolver
The following tracers will only run in binaries built in DEBUG mode. This is
accomplished by invoking `CONFIG=dbg make <target>`
- metadata - tracks creation and mutation of metadata
- combiner - traces combiner lock state
- call_combiner - traces call combiner state
- closure - tracks closure creation, scheduling, and completion
- fd_trace - traces fd create(), shutdown() and close() calls for channel fds.
- pending_tags - traces still-in-progress tags on completion queues
- polling - traces the selected polling engine
- polling_api - traces the api calls to polling engine
- subchannel_refcount
- queue_refcount
- error_refcount
- stream_refcount
- slice_refcount
- workqueue_refcount
- fd_refcount
- cq_refcount
- auth_context_refcount
- security_connector_refcount
- resolver_refcount
- lb_policy_refcount
- chttp2_refcount
'all' can additionally be used to turn all traces on.
Individual traces can be disabled by prefixing them with '-'.
'refcount' will turn on all of the tracers for refcount debugging.
if 'list_tracers' is present, then all of the available tracers will be
printed when the program starts up.
Example:
export GRPC_TRACE=all,-pending_tags
* GRPC_VERBOSITY * GRPC_VERBOSITY
<!-- BEGIN_GOOGLE_INTERNAL_DOCUMENTATION" Default gRPC logging verbosity - one of:
GRPC_VERBOSITY has been disabled for internal usage and will not work anymore. - DEBUG - log all gRPC messages
If anyone wants to debug, we need to set verbose logs using absl. - INFO - log INFO and ERROR message
END_GOOGLE_INTERNAL_DOCUMENTATION --> - ERROR - log only errors (default)
- NONE - won't log any
<!-- BEGIN_OPEN_SOURCE_DOCUMENTATION -->
`GRPC_VERBOSITY` is used to set the minimum level of log messages printed by gRPC (supported values are `DEBUG`, `INFO` and `ERROR`). If this environment variable is unset, only `ERROR` logs will be printed.
gRPC logging verbosity - one of:
- DEBUG - log INFO, WARNING, ERROR and FATAL messages. Also sets absl VLOG(2) logs enabled. This is not recommended for production systems. This will be expensive for staging environments too, so it can be used when you want to debug a specific issue.
- INFO - log INFO, WARNING, ERROR and FATAL messages. This is not recommended for production systems. This may be slightly expensive for staging environments too. We recommend that you use your discretion for staging environments.
- ERROR - log ERROR and FATAL messages. This is recommended for production systems.
- NONE - won't log any.
GRPC_VERBOSITY will set verbosity of absl logging.
- If the external application sets some other verbosity, then whatever is set later will be honoured.
- If nothing is set as GRPC_VERBOSITY, then the setting of the exernal application will be honoured.
- If nothing is set by the external application also, the default set by absl will be honoured.
<!-- END_OPEN_SOURCE_DOCUMENTATION -->
* GRPC_STACKTRACE_MINLOGLEVEL * GRPC_STACKTRACE_MINLOGLEVEL
Minimum loglevel to print the stack-trace - one of DEBUG, INFO, ERROR, and NONE. Minimum loglevel to print the stack-trace - one of DEBUG, INFO, ERROR, and NONE.

View File

@ -63,5 +63,4 @@
- 1.61 'g' stands for ['grand'](https://github.com/grpc/grpc/tree/v1.61.x) - 1.61 'g' stands for ['grand'](https://github.com/grpc/grpc/tree/v1.61.x)
- 1.62 'g' stands for ['guardian'](https://github.com/grpc/grpc/tree/v1.62.x) - 1.62 'g' stands for ['guardian'](https://github.com/grpc/grpc/tree/v1.62.x)
- 1.63 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/v1.63.x) - 1.63 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/v1.63.x)
- 1.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/v1.64.x) - 1.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/master)
- 1.65 'g' stands for ['gnarly'](https://github.com/grpc/grpc/tree/master)

View File

@ -71,12 +71,11 @@ Aggregate Cluster Behavior Fixes | [A75](https://github.com/grpc/proposal/blob/m
[Authorization (RBAC)](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/rbac/v3/rbac.proto):<br><ul><li>`LOG` action has no effect<li>CEL unsupported and rejected</ul> | [A41](https://github.com/grpc/proposal/blob/master/A41-xds-rbac.md) | v1.51.0<br>(C++ and Python) | v1.42.0 | 1.42.0 | | [Authorization (RBAC)](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/rbac/v3/rbac.proto):<br><ul><li>`LOG` action has no effect<li>CEL unsupported and rejected</ul> | [A41](https://github.com/grpc/proposal/blob/master/A41-xds-rbac.md) | v1.51.0<br>(C++ and Python) | v1.42.0 | 1.42.0 | |
[Least Request LB Policy](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers.html#weighted-least-request) | [A48](https://github.com/grpc/proposal/blob/master/A48-xds-least-request-lb-policy.md) | | v1.48.0 | | | [Least Request LB Policy](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers.html#weighted-least-request) | [A48](https://github.com/grpc/proposal/blob/master/A48-xds-least-request-lb-policy.md) | | v1.48.0 | | |
[Outlier Detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier):<br>Only the following detection types are supported:<ul><li>Success Rate</li><li>Failure Percentage</li></ul> | [A50](https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md) | v1.51.0 | v1.49.0 | v1.50.0 | v1.7.0 | [Outlier Detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier):<br>Only the following detection types are supported:<ul><li>Success Rate</li><li>Failure Percentage</li></ul> | [A50](https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md) | v1.51.0 | v1.49.0 | v1.50.0 | v1.7.0 |
Ignore Resource Deletion | [A53](https://github.com/grpc/proposal/blob/master/A53-xds-ignore-resource-deletion.md) | v1.48.0 | v1.48.0 | v1.55.0 | v1.7.0 |
[Custom Load Balancer Configuration](https://github.com/envoyproxy/envoy/blob/57be3189ffa3372b34e9480d1f02b2d165e49077/api/envoy/config/cluster/v3/cluster.proto#L1208) | [A52](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md) | v1.55.0 | v1.47.0 | v1.56.0 | v1.10.0 | [Custom Load Balancer Configuration](https://github.com/envoyproxy/envoy/blob/57be3189ffa3372b34e9480d1f02b2d165e49077/api/envoy/config/cluster/v3/cluster.proto#L1208) | [A52](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md) | v1.55.0 | v1.47.0 | v1.56.0 | v1.10.0 |
[xDS Federation](https://github.com/cncf/xds/blob/main/proposals/TP1-xds-transport-next.md) | [A47](https://github.com/grpc/proposal/blob/master/A47-xds-federation.md) | v1.55.0 | v1.55.0 | v1.55.0 | | [xDS Federation](https://github.com/cncf/xds/blob/main/proposals/TP1-xds-transport-next.md) | [A47](https://github.com/grpc/proposal/blob/master/A47-xds-federation.md) | v1.55.0 | v1.55.0 | v1.55.0 | |
[Client-Side Weighted Round Robin LB Policy](https://github.com/envoyproxy/envoy/blob/a6d46b6ac4750720eec9a49abe701f0df9bf8e0a/api/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto#L36) | [A58](https://github.com/grpc/proposal/blob/master/A58-client-side-weighted-round-robin-lb-policy.md) | v1.55.0 | v1.54.0 | v1.56.0 | | [Client-Side Weighted Round Robin LB Policy](https://github.com/envoyproxy/envoy/blob/a6d46b6ac4750720eec9a49abe701f0df9bf8e0a/api/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto#L36) | [A58](https://github.com/grpc/proposal/blob/master/A58-client-side-weighted-round-robin-lb-policy.md) | v1.55.0 | v1.54.0 | v1.56.0 | |
Pick First | [A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md) | v1.58.0 | v1.58.1 | v1.56.0 | | Pick First | [A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md) | v1.58.0 | v1.58.1 | v1.56.0 | |
[StringMatcher for Header Matching](https://github.com/envoyproxy/envoy/blob/3fe4b8d335fa339ef6f17325c8d31f87ade7bb1a/api/envoy/config/route/v3/route_components.proto#L2280) | [A63](https://github.com/grpc/proposal/blob/master/A63-xds-string-matcher-in-header-matching.md) | v1.56.0 | v1.53.0 | v1.56.0 | v1.9.0 | [StringMatcher for Header Matching](https://github.com/envoyproxy/envoy/blob/3fe4b8d335fa339ef6f17325c8d31f87ade7bb1a/api/envoy/config/route/v3/route_components.proto#L2280) | [A63](https://github.com/grpc/proposal/blob/master/A63-xds-string-matcher-in-header-matching.md) | v1.56.0 | v1.53.0 | v1.56.0 | v1.9.0 |
LRS Custom Metrics Support | [A64](https://github.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md) | v1.54.0 | | | | LRS Custom Metrics Support | [A64](https://github.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md) | v1.54.0 | | | |
mTLS Credentials in xDS Bootstrap File | [A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md) | v1.65.0 | | v1.61.0 | | mTLS Credentials in xDS Bootstrap File | [A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md) | v1.57.0 | | v1.61.0 | |
Stateful Session Affinity | [A55](https://github.com/grpc/proposal/blob/master/A55-xds-stateful-session-affinity.md), [A60](https://github.com/grpc/proposal/blob/master/A60-xds-stateful-session-affinity-weighted-clusters.md), [A75](https://github.com/grpc/proposal/blob/master/A75-xds-aggregate-cluster-behavior-fixes.md) | v1.61.0 | | | | Stateful Session Affinity | [A55](https://github.com/grpc/proposal/blob/master/A55-xds-stateful-session-affinity.md), [A60](https://github.com/grpc/proposal/blob/master/A60-xds-stateful-session-affinity-weighted-clusters.md), [A75](https://github.com/grpc/proposal/blob/master/A75-xds-aggregate-cluster-behavior-fixes.md) | v1.61.0 | | | |

View File

@ -1,120 +0,0 @@
<!---
Automatically generated by tools/codegen/core/gen_trace_flags.py
--->
gRPC Trace Flags
----------------
The `GRPC_TRACE` environment variable supports a comma-separated list of tracer
names or glob patterns that provide additional insight into how gRPC C core is
processing requests via debug logs. Available tracers include:
- api - API calls to the C core.
- backend_metric - C++ backend metric recorder APIs.
- backend_metric_filter - Filter that populates backend metric data in server trailing metadata.
- bdp_estimator - Behavior of bdp estimation logic.
- call - Traces operations on a call through the gRPC stack.
- call_error - Possible errors contributing to final call statuses.
- cares_address_sorting - Operations of the c-ares based DNS resolver's address sorter.
- cares_resolver - Operations of the c-ares based DNS resolver.
- cds_lb - CDS LB policy.
- channel - Operations on the C core channel stack.
- channel_stack - Construction of the set of filters in a channel stack.
- chaotic_good - Chaotic good transport.
- chttp2_hpack_parser - HTTP/2 HPACK parser.
- chttp2_new_stream - HTTP/2 incoming stream creation.
- client_channel - Client channel control plane activity, including resolver and load balancing policy interaction.
- client_channel_call - Client channel call activity related to name resolution.
- client_channel_lb_call - Client channel call activity related to load balancing picking.
- client_idle_filter - Client idleness filter.
- compression - Compression operations.
- connectivity_state - Connectivity state changes to channels.
- cronet - Cronet transport engine.
- dns_resolver - The active DNS resolver.
- environment_autodetect - GCP environment auto-detection.
- event_engine - High-level EventEngine operations.
- event_engine_client_channel_resolver - EventEngine-based client channel resolver state and events.
- event_engine_dns - EventEngine DNS resolver.
- event_engine_endpoint - EventEngine Endpoint operations.
- event_engine_endpoint_data - Detailed dump of EventEngine endpoint TCP data.
- event_engine_poller - EventEngine Poller events.
- executor - gRPC's legacy thread pool ('the executor').
- fault_injection_filter - Fault injection.
- flowctl - Http2 flow control.
- fork - Fork support.
- glb - gRPClb load balancer.
- grpc_authz_api - gRPC authorization.
- handshaker - Handshaking state.
- health_check_client - Health checking client code.
- http - Http2 transport engine.
- http1 - HTTP/1.x operations performed by gRPC.
- http2_ping - Pings/ping acks/antagonist writes in http2 stack.
- http2_stream_state - Http2 stream state mutations.
- http_keepalive - gRPC keepalive pings.
- inproc - In-process transport.
- metadata_query - GCP metadata queries.
- op_failure - Error information when failure is pushed onto a completion queue. The `api` tracer must be enabled for this flag to have any effect.
- orca_client - Out-of-band backend metric reporting client.
- outlier_detection_lb - Outlier detection.
- pick_first - Pick first load balancing policy.
- plugin_credentials - Plugin credentials.
- priority_lb - Priority LB policy.
- queue_pluck - Completion queue plucking. The `api` tracer must be enabled for this flag to have any effect.
- resource_quota - Resource quota objects internals.
- retry - Call retries.
- ring_hash_lb - Ring hash load balancing policy.
- rls_lb - RLS load balancing policy.
- round_robin - Round robin load balancing policy.
- secure_endpoint - Bytes flowing through encrypted channels.
- server_channel - Lightweight trace of significant server channel events.
- stateful_session_filter - Stateful session affinity.
- subchannel - Connectivity state of subchannels.
- subchannel_pool - Subchannel pool.
- tcp - Bytes in and out of a channel.
- timer - Timers (alarms) in the grpc internals.
- timer_check - more detailed trace of timer logic in grpc internals.
- tsi - TSI transport security.
- weighted_round_robin_lb - Weighted round robin load balancing policy.
- weighted_target_lb - Weighted target LB policy.
- xds_client - XDS client.
- xds_client_refcount - Refcount of XDS client.
- xds_cluster_impl_lb - XDS Cluster impl LB policy.
- xds_cluster_manager_lb - XDS Cluster manager LB policy.
- xds_override_host_lb - XDS Override host LB.
- xds_resolver - XDS Resolver.
- xds_server_config_fetcher - XDS Server config fetcher.
- xds_wrr_locality_lb - XDS WRR locality LB policy.
The following tracers will only run in binaries built in DEBUG mode. This is
accomplished by invoking `bazel build --config=dbg <target>`
- auth_context_refcount - Auth context refcounting.
- call_combiner - Call combiner state.
- call_refcount - Refcount on call.
- closure - Legacy closure creation, scheduling, and completion.
- combiner - Combiner lock state.
- cq_refcount - Completion queue refcounting.
- error_refcount - Error refcounting.
- fd_refcount - File descriptor refcounting.
- fd_trace - Legacy file descriptor create(), shutdown() and close() calls for channel fds.
- lb_policy_refcount - LB policy refcounting.
- party_state - Coordination of activities related to a call.
- pending_tags - Still-in-progress tags on completion queues. The `api` tracer must be enabled for this flag to have any effect.
- polling - The active polling engine.
- polling_api - API calls to polling engine.
- promise_primitives - Low-level primitives in the promise library.
- resolver_refcount - Resolver refcouting.
- security_connector_refcount - Refcounting for security connectors (part of channel credentials).
- slice_refcount - Slice refcounting.
- stream_refcount - Stream refcounting.
- subchannel_refcount - Subchannel refcounting.
- work_serializer - A synchronization mechanism used to ensure that only one thread is executing at a given time.
Glob patterns and special cases:
- `*` can be used to turn all traces on.
- Individual traces can be disabled by prefixing them with `-`.
- `*refcount*` will turn on all of the tracers for refcount debugging.
- if `list_tracers` is present, then all of the available tracers will be
printed when the program starts up.
Example:
export GRPC_TRACE=*,-pending_tags

View File

@ -13,7 +13,7 @@
``` ```
bazel build \ bazel build \
--extra_toolchains=@androidndk//:all \ --extra_toolchains=@androidndk//:all \
--android_platforms=//bazel/platforms/android:x86_64,//bazel/platforms/android:armeabi-v7a,//bazel/platforms/android:arm64-v8a \ --android_platforms=//:android_x86_64,//:android_armv7,//:android_arm64 \
--copt=-Wno-unknown-warning-option \ --copt=-Wno-unknown-warning-option \
//examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \ //examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \
//examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app //examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app

View File

@ -1,54 +0,0 @@
# Copyright 2024 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.
licenses(["notice"])
cc_library(
name = "helper",
srcs = ["helper.cc"],
hdrs = ["helper.h"],
)
cc_binary(
name = "ssl_client",
srcs = ["ssl_client.cc"],
data = [
"credentials/root.crt",
],
defines = ["BAZEL_BUILD"],
deps = [
":helper",
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],
)
cc_binary(
name = "ssl_server",
srcs = ["ssl_server.cc"],
data = [
"credentials/localhost.crt",
"credentials/localhost.key",
],
defines = ["BAZEL_BUILD"],
deps = [
":helper",
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],
)

View File

@ -1,77 +0,0 @@
# Copyright 2024 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.
#
# cmake build file for C++ keyvaluestore example.
# Assumes protobuf and gRPC have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building keyvaluestore.
cmake_minimum_required(VERSION 3.8)
project(Cancellation C CXX)
include(../cmake/common.cmake)
# Proto files
get_filename_component(hw_proto "../../protos/helloworld.proto" ABSOLUTE)
get_filename_component(hw_proto_path "${hw_proto}" PATH)
# Generated sources
set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.cc")
set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.h")
set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.h")
add_custom_command(
OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${hw_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${hw_proto}"
DEPENDS "${hw_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# hw_grpc_proto
add_library(hw_grpc_proto
${hw_grpc_srcs}
${hw_grpc_hdrs}
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# example helper
add_library(helper
"helper.h"
"helper.cc")
# Targets greeter_(client|server)
foreach(_target
ssl_client ssl_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
helper
hw_grpc_proto
absl::flags
absl::flags_parse
absl::strings
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
endforeach()

View File

@ -1,39 +0,0 @@
# Authentication Example
## Overview
SSL is a commonly used cryptographic protocol to provide end-to-end
communication security. In the example, we show how to set up a server
authenticated SSL connection to transmit RPC.
We provide `grpc::SslServerCredentials` and `grpc::SslCredentials` types
to use SSL conections.
In our example, we use the public/private keys created ahead:
* "localhost.crt" contains the server certificate (public key).
* "localhost.key" contains the server private key.
* "root.crt" contains the certificate (certificate authority)
that can verify the server's certificate.
### Try it!
Once you have working gRPC, you can build this example using either bazel or cmake.
Make sure to run those at this directory so that they can read credential files properly.
Run the server, which will listen on port 50051:
```sh
$ ./ssl_server
```
Run the client (in a different terminal):
```sh
$ ./ssl_client
```
If things go smoothly, you will see the client output:
```
Greeter received: Hello world
```

View File

@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDFjCCAf4CCQCzrLIhrWa55zANBgkqhkiG9w0BAQsFADBCMQswCQYDVQQGEwJV
UzETMBEGA1UECAwKQ2FsaWZvcm5pYTEPMA0GA1UECgwGR29vZ2xlMQ0wCwYDVQQL
DARnUlBDMCAXDTE5MDYyNDIyMjIzM1oYDzIxMTkwNTMxMjIyMjMzWjBWMQswCQYD
VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEPMA0GA1UECgwGR29vZ2xlMQ0w
CwYDVQQLDARnUlBDMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCtCW0TjugnIUu8BEVIYvdMP+/2GENQDjZhZ8eKR5C6
toDGbgjsDtt/GxISAg4cg70fIvy0XolnGPZodvfHDM4lJ7yHBOdZD8TXQoE6okR7
HZuLUJ20M0pXgWqtRewKRUjuYsSDXBnzLiZw1dcv9nGpo+Bqa8NonpiGRRpEkshF
D6T9KU9Ts/x+wMQBIra2Gj0UMh79jPhUuxcYAQA0JQGivnOtdwuPiumpnUT8j8h6
tWg5l01EsCZWJecCF85KnGpJEVYPyPqBqGsy0nGS9plGotOWF87+jyUQt+KD63xA
aBmTro86mKDDKEK4JvzjVeMGz2UbVcLPiiZnErTFaiXJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAKsDgOPCWp5WCy17vJbRlgfgk05sVNIHZtzrmdswjBmvSg8MUpep
XqcPNUpsljAXsf9UM5IFEMRdilUsFGWvHjBEtNAW8WUK9UV18WRuU//0w1Mp5HAN
xUEKb4BoyZr65vlCnTR+AR5c9FfPvLibhr5qHs2RA8Y3GyLOcGqBWed87jhdQLCc
P1bxB+96le5JeXq0tw215lxonI2/3ZYVK4/ok9gwXrQoWm8YieJqitk/ZQ4S17/4
pynHtDfdxLn23EXeGx+UTxJGfpRmhEZdJ+MN7QGYoomzx5qS5XoYKxRNrDlirJpr
OqXIn8E1it+6d5gOZfuHawcNGhRLplE/pfA=
-----END CERTIFICATE-----

View File

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEArQltE47oJyFLvARFSGL3TD/v9hhDUA42YWfHikeQuraAxm4I
7A7bfxsSEgIOHIO9HyL8tF6JZxj2aHb3xwzOJSe8hwTnWQ/E10KBOqJEex2bi1Cd
tDNKV4FqrUXsCkVI7mLEg1wZ8y4mcNXXL/ZxqaPgamvDaJ6YhkUaRJLIRQ+k/SlP
U7P8fsDEASK2tho9FDIe/Yz4VLsXGAEANCUBor5zrXcLj4rpqZ1E/I/IerVoOZdN
RLAmViXnAhfOSpxqSRFWD8j6gahrMtJxkvaZRqLTlhfO/o8lELfig+t8QGgZk66P
OpigwyhCuCb841XjBs9lG1XCz4omZxK0xWolyQIDAQABAoIBADeq/Kh6JT3RfGf0
h8WN8TlaqHxnueAbcmtL0+oss+cdp7gu1jf7X6o4r0uT1a5ew40s2Fe+wj2kzkE1
ZOlouTlC22gkr7j7Vbxa7PBMG/Pvxoa/XL0IczZLsGImSJXVTG1E4SvRiZeulTdf
1GbdxhtpWV1jZe5Wd4Na3+SHxF5S7m3PrHiZlYdz1ND+8XZs1NlL9+ej72qSFul9
t/QjMWJ9pky/Wad5abnRLRyOsg+BsgnXbkUy2rD89ZxFMLda9pzXo3TPyAlBHonr
mkEsE4eRMWMpjBM79JbeyDdHn/cs/LjAZrzeDf7ugXr2CHQpKaM5O0PsNHezJII9
L5kCfzECgYEA4M/rz1UP1/BJoSqigUlSs0tPAg8a5UlkVsh6Osuq72IPNo8qg/Fw
oV/IiIS+q+obRcFj1Od3PGdTpCJwW5dzd2fXBQGmGdj0HucnCrs13RtBh91JiF5i
y/YYI9KfgOG2ZT9gG68T0gTs6jRrS3Qd83npqjrkJqMOd7s00MK9tUcCgYEAxQq7
T541oCYHSBRIIb0IrR25krZy9caxzCqPDwOcuuhaCqCiaq+ATvOWlSfgecm4eH0K
PCH0xlWxG0auPEwm4pA8+/WR/XJwscPZMuoht1EoKy1his4eKx/s7hHNeO6KOF0V
Y/zqIiuZnEwUoKbn7EqqNFSTT65PJKyGsICJFG8CgYAfaw9yl1myfQNdQb8aQGwN
YJ33FLNWje427qeeZe5KrDKiFloDvI9YDjHRWnPnRL1w/zj7fSm9yFb5HlMDieP6
MQnsyjEzdY2QcA+VwVoiv3dmDHgFVeOKy6bOAtaFxYWfGr9MvygO9t9BT/gawGyb
JVORlc9i0vDnrMMR1dV7awKBgBpTWLtGc/u1mPt0Wj7HtsUKV6TWY32a0l5owTxM
S0BdksogtBJ06DukJ9Y9wawD23WdnyRxlPZ6tHLkeprrwbY7dypioOKvy4a0l+xJ
g7+uRCOgqIuXBkjUtx8HmeAyXp0xMo5tWArAsIFFWOwt4IadYygitJvMuh44PraO
NcJZAoGADEiV0dheXUCVr8DrtSom8DQMj92/G/FIYjXL8OUhh0+F+YlYP0+F8PEU
yYIWEqL/S5tVKYshimUXQa537JcRKsTVJBG/ZKD2kuqgOc72zQy3oplimXeJDCXY
h2eAQ0u8GN6tN9C4t8Kp4a3y6FGsxgu+UTxdnL3YQ+yHAVhtCzo=
-----END RSA PRIVATE KEY-----

View File

@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDWTCCAkGgAwIBAgIJAPOConZMwykwMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMQ8wDQYDVQQKDAZHb29nbGUxDTAL
BgNVBAsMBGdSUEMwIBcNMTkwNjI0MjIyMDA3WhgPMjExOTA1MzEyMjIwMDdaMEIx
CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMQ8wDQYDVQQKDAZHb29n
bGUxDTALBgNVBAsMBGdSUEMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCwqei3TfyLidnQNDJ2lierMYo229K92DuORni7nSjJQ59Jc3dNMsmqGQJjCD8o
6mTlKM/oCbs27Wpx+OxcOLvT95j2kiDGca1fCvaMdguIod09SWiyMpv/hp0trLv7
NJIKHznath6rHYX2Ii3fZ1yCPzyQbEPSAA+GNpoNm1v1ZWmWKke9v7vLlS3inNlW
Mt9jepK7DrtbNZnVDjeItnppBSbVYRMxIyNHkepFbqXx5TpkCvl4M4XQZw9bfSxQ
i3WZ3q+T1Tw//OUdPNc+OfMhu0MA0QoMwikskP0NaIC3dbJZ5Ogx0RcnaB4E+9C6
O/znUEh3WuKVl5HXBF+UwWoFAgMBAAGjUDBOMB0GA1UdDgQWBBRm3JIgzgK4G97J
fbMGatWMZc7V3jAfBgNVHSMEGDAWgBRm3JIgzgK4G97JfbMGatWMZc7V3jAMBgNV
HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCNiV8x41if094ry2srS0YucpiN
3rTPk08FOLsENTMYai524TGXJti1P6ofGr5KXCL0uxTByHE3fEiMMud2TIY5iHQo
Y4mzDTTcb+Q7yKHwYZMlcp6nO8W+NeY5t+S0JPHhb8deKWepcN2UpXBUYQLw7AiE
l96T9Gi+vC9h/XE5IVwHFQXTxf5UYzXtW1nfapvrOONg/ms41dgmrRKIi+knWfiJ
FdHpHX2sfDAoJtnpEISX+nxRGNVTLY64utXWm4yxaZJshvy2s8zWJgRg7rtwAhTT
Np9E9MnihXLEmDI4Co9XlLPJyZFmqImsbmVuKFeQOCiLAoPJaMI2lbi7fiTo
-----END CERTIFICATE-----

View File

@ -1,34 +0,0 @@
/*
*
* Copyright 2024 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.
*
*/
#include "helper.h"
#include <fstream>
#include <iostream>
#include <sstream>
std::string LoadStringFromFile(std::string path) {
std::ifstream file(path);
if (!file.is_open()) {
std::cout << "Failed to open " << path << std::endl;
abort();
}
std::stringstream sstr;
sstr << file.rdbuf();
return sstr.str();
}

View File

@ -1,26 +0,0 @@
/*
*
* Copyright 2024 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.
*
*/
#ifndef GRPC_EXAMPLES_CPP_AUTH_HELPER_H_
#define GRPC_EXAMPLES_CPP_AUTH_HELPER_H_
#include <string>
std::string LoadStringFromFile(std::string path);
#endif // GRPC_EXAMPLES_CPP_AUTH_HELPER_H_

View File

@ -1,121 +0,0 @@
/*
*
* Copyright 2024 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.
*
*/
#include <condition_variable>
#include <iostream>
#include <memory>
#include <mutex>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "helper.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
#ifdef BAZEL_BUILD
constexpr char kRootCertificate[] = "examples/cpp/auth/credentials/root.crt";
#else
constexpr char kRootCertificate[] = "credentials/root.crt";
#endif
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
std::string target_str =
absl::StrFormat("localhost:%d", absl::GetFlag(FLAGS_port));
// Build a SSL options for the channel
grpc::SslCredentialsOptions ssl_options;
ssl_options.pem_root_certs = LoadStringFromFile(kRootCertificate);
// Create a channel with SSL credentials
GreeterClient greeter(
grpc::CreateChannel(target_str, grpc::SslCredentials(ssl_options)));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
return 0;
}

View File

@ -1,94 +0,0 @@
// Copyright 2024 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.
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include "helper.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
#ifdef BAZEL_BUILD
constexpr char kServerCertPath[] =
"examples/cpp/auth/credentials/localhost.crt";
constexpr char kServerKeyPath[] = "examples/cpp/auth/credentials/localhost.key";
#else
constexpr char kServerCertPath[] = "credentials/localhost.crt";
constexpr char kServerKeyPath[] = "credentials/localhost.key";
#endif
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
ServerBuilder builder;
// Load SSL credentials and build a SSL credential options
grpc::SslServerCredentialsOptions::PemKeyCertPair key_cert_pair = {
LoadStringFromFile(kServerKeyPath), LoadStringFromFile(kServerCertPath)};
grpc::SslServerCredentialsOptions ssl_options;
ssl_options.pem_key_cert_pairs.emplace_back(key_cert_pair);
// Listen on the given address with SSL credentials
builder.AddListeningPort(server_address,
grpc::SslServerCredentials(ssl_options));
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

View File

@ -1,50 +0,0 @@
# Copyright 2023 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.
licenses(["notice"])
cc_binary(
name = "csm_greeter_client",
srcs = ["csm_greeter_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpcpp_csm_observability",
"//examples/cpp/otel:util",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
cc_binary(
name = "csm_greeter_server",
srcs = ["csm_greeter_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//:grpcpp_csm_observability",
"//examples/cpp/otel:util",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)

View File

@ -1,37 +0,0 @@
# Copyright 2023 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.
FROM python:3.9-slim-bookworm
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y build-essential clang curl
WORKDIR /workdir
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN mkdir /artifacts
COPY . .
RUN tools/bazel build //examples/cpp/csm/observability:csm_greeter_client
RUN cp -rL /workdir/bazel-bin/examples/cpp/csm/observability/csm_greeter_client /artifacts/
FROM python:3.9-slim-bookworm
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y autoremove \
&& apt-get install -y curl
COPY --from=0 /artifacts ./
ENTRYPOINT ["/csm_greeter_client"]

View File

@ -1,37 +0,0 @@
# Copyright 2023 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.
FROM python:3.9-slim-bookworm
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y build-essential clang curl
WORKDIR /workdir
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN mkdir /artifacts
COPY . .
RUN tools/bazel build //examples/cpp/csm/observability:csm_greeter_server
RUN cp -rL /workdir/bazel-bin/examples/cpp/csm/observability/csm_greeter_server /artifacts/
FROM python:3.9-slim-bookworm
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y autoremove \
&& apt-get install -y curl
COPY --from=0 /artifacts ./
ENTRYPOINT ["/csm_greeter_server"]

View File

@ -1,35 +0,0 @@
# gRPC C++ CSM Hello World Example
This CSM example builds on the [Hello World Example](https://github.com/grpc/grpc/tree/master/examples/cpp/helloworld) and changes the gRPC client and server to test CSM observability.
## Configuration
The client takes the following command-line arguments -
* target - By default, the client tries to connect to the xDS "xds:///helloworld:50051" and gRPC would use xDS to resolve this target and connect to the server backend. This can be overridden to change the target.
* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
The server takes the following command-line arguments -
* port - Port on which the Hello World service is run. Defaults to 50051.
* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
## Building
From the gRPC workspace folder:
Client:
```
docker build -f examples/cpp/csm/observability/Dockerfile.client
```
Server:
```
docker build -f examples/cpp/csm/observability/Dockerfile.server
```
To push to a registry, add a tag to the image either by adding a `-t` flag to `docker build` command above or run:
```
docker image tag ${sha from build command above} ${tag}
```
And then push the tagged image using `docker push`

View File

@ -1,79 +0,0 @@
/*
*
* Copyright 2023 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.
*
*/
#include <sys/types.h>
#include <chrono>
#include <condition_variable>
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/types/optional.h"
#include "examples/cpp/otel/util.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/support/string_ref.h>
ABSL_FLAG(std::string, target, "xds:///helloworld:50051", "Target string");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");
namespace {
absl::StatusOr<grpc::CsmObservability> InitializeObservability() {
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE pods
opts.url = "0.0.0.0:9464";
auto prometheus_exporter =
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.client.attempt.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.client.attempt.duration", "s");
meter_provider->AddMetricReader(std::move(prometheus_exporter));
return grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
}
} // namespace
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Setup CSM observability
auto observability = InitializeObservability();
if (!observability.ok()) {
std::cerr << "CsmObservability::Init() failed: "
<< observability.status().ToString() << std::endl;
return static_cast<int>(observability.status().code());
}
// Continuously send RPCs every second.
RunClient(absl::GetFlag(FLAGS_target));
return 0;
}

View File

@ -1,67 +0,0 @@
/*
*
* Copyright 2023 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.
*
*/
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include "examples/cpp/otel/util.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
ABSL_FLAG(int32_t, port, 50051, "Server port for service.");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE pods
opts.url = "0.0.0.0:9464";
auto prometheus_exporter =
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.server.call.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.server.call.duration", "s");
meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto observability = grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
if (!observability.ok()) {
std::cerr << "CsmObservability::Init() failed: "
<< observability.status().ToString() << std::endl;
return static_cast<int>(observability.status().code());
}
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

View File

@ -14,31 +14,14 @@
licenses(["notice"]) licenses(["notice"])
package(
default_visibility = ["//examples/cpp:__subpackages__"],
)
cc_library(
name = "util",
srcs = ["util.cc"],
hdrs = ["util.h"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
cc_binary( cc_binary(
name = "greeter_callback_client", name = "greeter_callback_client",
srcs = ["greeter_callback_client.cc"], srcs = ["greeter_callback_client.cc"],
defines = ["BAZEL_BUILD"], defines = ["BAZEL_BUILD"],
deps = [ deps = [
"util",
"//:grpc++", "//:grpc++",
"//:grpcpp_otel_plugin", "//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag", "@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse", "@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter", "@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
@ -51,9 +34,10 @@ cc_binary(
srcs = ["greeter_callback_server.cc"], srcs = ["greeter_callback_server.cc"],
defines = ["BAZEL_BUILD"], defines = ["BAZEL_BUILD"],
deps = [ deps = [
"util",
"//:grpc++", "//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_otel_plugin", "//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag", "@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse", "@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/strings:str_format",

View File

@ -50,7 +50,6 @@ add_custom_command(
# Include generated *.pb.h files # Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}") include_directories("${CMAKE_CURRENT_BINARY_DIR}")
include_directories("${CMAKE_SOURCE_DIR}")
# hw_grpc_proto # hw_grpc_proto
add_library(hw_grpc_proto add_library(hw_grpc_proto
@ -63,25 +62,18 @@ target_link_libraries(hw_grpc_proto
${_GRPC_GRPCPP} ${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF}) ${_PROTOBUF_LIBPROTOBUF})
# util
add_library(util
"util.cc")
target_link_libraries(util
hw_grpc_proto
opentelemetry-cpp::metrics
${_GRPC_GRPCPP}
${_REFLECTION}
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_callback_(client|server) # Targets greeter_callback_(client|server)
foreach(_target foreach(_target
greeter_callback_client greeter_callback_server) greeter_callback_client greeter_callback_server)
add_executable(${_target} "${_target}.cc") add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target} target_link_libraries(${_target}
hw_grpc_proto
absl::flags absl::flags
absl::flags_parse absl::flags_parse
opentelemetry-cpp::metrics opentelemetry-cpp::metrics
opentelemetry-cpp::prometheus_exporter opentelemetry-cpp::prometheus_exporter
${_REFLECTION}
${_GRPC_GRPCPP}
gRPC::grpcpp_otel_plugin gRPC::grpcpp_otel_plugin
util) ${_PROTOBUF_LIBPROTOBUF})
endforeach() endforeach()

View File

@ -1,124 +0,0 @@
#
# Copyright 2015 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.
#
# TODO(jtattermusch): Remove the hack to workaround protobuf bug. See https://github.com/protocolbuffers/protobuf/issues/12439
# Hack: protobuf currently doesn't declare it's absl dependencies when protobuf.pc pkgconfig file is used.
PROTOBUF_ABSL_DEPS = absl_absl_check absl_absl_log absl_algorithm absl_base absl_bind_front absl_bits absl_btree absl_cleanup absl_cord absl_core_headers absl_debugging absl_die_if_null absl_dynamic_annotations absl_flags absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_layout absl_log_initialize absl_log_severity absl_memory absl_node_hash_map absl_node_hash_set absl_optional absl_span absl_status absl_statusor absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant
# TODO(jtattermusch): Remove the hack to workaround protobuf/utf8_range bug. See https://github.com/protocolbuffers/utf8_range/issues/20
# Hack: utf8_range (which is protobuf's dependency) currently doesn't have a pkgconfig file, so we need to explicitly
# tweak the list of libraries to link against to fix the build.
PROTOBUF_UTF8_RANGE_LINK_LIBS = -lutf8_validity
OPENTELEMETRY_LINK_LIBS = -lopentelemetry_metrics -lopentelemetry_exporter_prometheus -lopentelemetry_common -lopentelemetry_resources -lprometheus-cpp-pull -lprometheus-cpp-core
HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
SYSTEM ?= $(HOST_SYSTEM)
CXX = g++
CPPFLAGS += `pkg-config --cflags protobuf grpc absl_flags absl_flags_parse`
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-lgrpc++_reflection \
-ldl
else
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed \
-ldl
endif
PROTOC = protoc
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
PROTOS_PATH = ../../protos
vpath %.proto $(PROTOS_PATH)
all: system-check greeter_callback_client greeter_callback_server
greeter_callback_client: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_client.o
$(CXX) $^ $(LDFLAGS) -o $@
greeter_callback_server: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_server.o
$(CXX) $^ $(LDFLAGS) -o $@
.PRECIOUS: %.grpc.pb.cc
%.grpc.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
.PRECIOUS: %.pb.cc
%.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $<
clean:
rm -f *.o *.pb.cc *.pb.h greeter_callback_client greeter_callback_server
# The following is to test your system and ensure a smoother experience.
# They are by no means necessary to actually compile a grpc-enabled software.
PROTOC_CMD = which $(PROTOC)
PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q 'libprotoc.3\|libprotoc [0-9][0-9]\.'
PLUGIN_CHECK_CMD = which $(GRPC_CPP_PLUGIN)
HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false)
ifeq ($(HAS_PROTOC),true)
HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false)
endif
HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false)
SYSTEM_OK = false
ifeq ($(HAS_VALID_PROTOC),true)
ifeq ($(HAS_PLUGIN),true)
SYSTEM_OK = true
endif
endif
system-check:
ifneq ($(HAS_VALID_PROTOC),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have protoc 3.0.0 or newer installed in your path."
@echo "Please install an up-to-date version of Google protocol buffers."
@echo "You can find it here:"
@echo
@echo " https://github.com/protocolbuffers/protobuf/releases"
@echo
@echo "Here is what I get when trying to evaluate your version of protoc:"
@echo
-$(PROTOC) --version
@echo
@echo
endif
ifneq ($(HAS_PLUGIN),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have the grpc c++ protobuf plugin installed in your path."
@echo "Please install grpc. You can find it here:"
@echo
@echo " https://github.com/grpc/grpc"
@echo
@echo "Here is what I get when trying to detect if you have the plugin:"
@echo
-which $(GRPC_CPP_PLUGIN)
@echo
@echo
endif
ifneq ($(SYSTEM_OK),true)
@false
endif

View File

@ -16,14 +16,12 @@
* *
*/ */
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil #include <condition_variable>
// version. Refer #include <iostream>
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042. #include <memory>
#ifndef HAVE_ABSEIL #include <mutex>
#define HAVE_ABSEIL
#endif
#include <string> #include <string>
#include <thread>
#include "absl/flags/flag.h" #include "absl/flags/flag.h"
#include "absl/flags/parse.h" #include "absl/flags/parse.h"
@ -32,17 +30,76 @@
#include "opentelemetry/sdk/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h> #include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD #ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h" #include "examples/protos/helloworld.grpc.pb.h"
#else #else
#include "util.h" #include "helloworld.grpc.pb.h"
#endif #endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address"); ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9465", ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9465",
"Prometheus exporter endpoint"); "Prometheus exporter endpoint");
using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
int main(int argc, char** argv) { int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv); absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus // Register a global gRPC OpenTelemetry plugin configured with a prometheus
@ -53,10 +110,6 @@ int main(int argc, char** argv) {
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts); opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider = auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>(); std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.client.attempt.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.client.attempt.duration", "s");
meter_provider->AddMetricReader(std::move(prometheus_exporter)); meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto status = grpc::OpenTelemetryPluginBuilder() auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider)) .SetMeterProvider(std::move(meter_provider))
@ -66,9 +119,20 @@ int main(int argc, char** argv) {
<< status.ToString() << std::endl; << status.ToString() << std::endl;
return static_cast<int>(status.code()); return static_cast<int>(status.code());
} }
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
std::string target_str = absl::GetFlag(FLAGS_target);
grpc::ChannelArguments args;
// Continuously send RPCs every second. // Continuously send RPCs every second.
RunClient(absl::GetFlag(FLAGS_target)); while (true) {
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
return 0; return 0;
} }

View File

@ -16,13 +16,6 @@
* *
*/ */
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <iostream> #include <iostream>
#include <memory> #include <memory>
#include <string> #include <string>
@ -35,17 +28,64 @@
#include "opentelemetry/sdk/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h> #include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD #ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h" #include "examples/protos/helloworld.grpc.pb.h"
#else #else
#include "util.h" #include "helloworld.grpc.pb.h"
#endif #endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service"); ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464", ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint"); "Prometheus exporter endpoint");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) { int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv); absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus // Register a global gRPC OpenTelemetry plugin configured with a prometheus
@ -56,10 +96,6 @@ int main(int argc, char** argv) {
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts); opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider = auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>(); std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.server.call.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.server.call.duration", "s");
meter_provider->AddMetricReader(std::move(prometheus_exporter)); meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto status = grpc::OpenTelemetryPluginBuilder() auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider)) .SetMeterProvider(std::move(meter_provider))

View File

@ -1,44 +0,0 @@
# Copyright 2023 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.
licenses(["notice"])
cc_binary(
name = "greeter_callback_client",
srcs = ["greeter_callback_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpcpp_otel_plugin",
"//examples/cpp/otel:util",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/ostream:ostream_metric_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
cc_binary(
name = "greeter_callback_server",
srcs = ["greeter_callback_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpcpp_otel_plugin",
"//examples/cpp/otel:util",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",
"@io_opentelemetry_cpp//exporters/ostream:ostream_metric_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)

View File

@ -1,85 +0,0 @@
# Copyright 2018 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.
#
# cmake build file for C++ gRPC OpenTelemetry example.
# Assumes absl, protobuf, prometheus-cpp, opentelemetry-cpp and gRPC (with -DgRPC_BUILD_OPENTELEMETRY_PLUGIN=ON) have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.13)
project(grpc_opentelemetry_example C CXX)
include(../../cmake/common.cmake)
# Find opentelemetry-cpp package
find_package(opentelemetry-cpp CONFIG REQUIRED)
# Proto file
get_filename_component(hw_proto "../../../protos/helloworld.proto" ABSOLUTE)
get_filename_component(hw_proto_path "${hw_proto}" PATH)
# Generated sources
set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.cc")
set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.h")
set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.h")
add_custom_command(
OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${hw_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${hw_proto}"
DEPENDS "${hw_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
include_directories("${CMAKE_SOURCE_DIR}")
# hw_grpc_proto
add_library(hw_grpc_proto
${hw_grpc_srcs}
${hw_grpc_hdrs}
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# util
add_library(util
"../util.cc")
target_link_libraries(util
hw_grpc_proto
opentelemetry-cpp::metrics
${_GRPC_GRPCPP}
${_REFLECTION}
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_callback_(client|server)
foreach(_target
greeter_callback_client greeter_callback_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
absl::flags
absl::flags_parse
opentelemetry-cpp::metrics
opentelemetry-cpp::ostream_metrics_exporter
gRPC::grpcpp_otel_plugin
util
${_PROTOBUF_LIBPROTOBUF})
endforeach()

View File

@ -1,127 +0,0 @@
#
# Copyright 2015 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.
#
# TODO(jtattermusch): Remove the hack to workaround protobuf bug. See https://github.com/protocolbuffers/protobuf/issues/12439
# Hack: protobuf currently doesn't declare it's absl dependencies when protobuf.pc pkgconfig file is used.
PROTOBUF_ABSL_DEPS = absl_absl_check absl_absl_log absl_algorithm absl_base absl_bind_front absl_bits absl_btree absl_cleanup absl_cord absl_core_headers absl_debugging absl_die_if_null absl_dynamic_annotations absl_flags absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_layout absl_log_initialize absl_log_severity absl_memory absl_node_hash_map absl_node_hash_set absl_optional absl_span absl_status absl_statusor absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant
# TODO(jtattermusch): Remove the hack to workaround protobuf/utf8_range bug. See https://github.com/protocolbuffers/utf8_range/issues/20
# Hack: utf8_range (which is protobuf's dependency) currently doesn't have a pkgconfig file, so we need to explicitly
# tweak the list of libraries to link against to fix the build.
PROTOBUF_UTF8_RANGE_LINK_LIBS = -lutf8_validity
OPENTELEMETRY_LINK_LIBS = -lopentelemetry_metrics -lopentelemetry_exporter_ostream_metrics -lopentelemetry_resources -lopentelemetry_common
HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
SYSTEM ?= $(HOST_SYSTEM)
CXX = g++
CPPFLAGS += `pkg-config --cflags protobuf grpc absl_flags absl_flags_parse`
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-lgrpc++_reflection \
-ldl
else
LDFLAGS += -L/usr/local/lib `pkg-config --libs --static protobuf grpc++ grpcpp_otel_plugin absl_flags absl_flags_parse $(PROTOBUF_ABSL_DEPS)` \
$(PROTOBUF_UTF8_RANGE_LINK_LIBS) \
$(OPENTELEMETRY_LINK_LIBS) \
-pthread \
-Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed \
-ldl
endif
PROTOC = protoc
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
PROTOS_PATH = ../../../protos
vpath %.proto $(PROTOS_PATH)
all: system-check greeter_callback_client greeter_callback_server
greeter_callback_client: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_client.o
$(CXX) $^ $(LDFLAGS) -o $@
greeter_callback_server: util.o helloworld.pb.o helloworld.grpc.pb.o greeter_callback_server.o
$(CXX) $^ $(LDFLAGS) -o $@
.PRECIOUS: %.grpc.pb.cc
%.grpc.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
.PRECIOUS: %.pb.cc
%.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $<
util.o: ../util.cc
$(CXX) $^ -I . -I $(CPPFLAGS) -c -o $@
clean:
rm -f *.o *.pb.cc *.pb.h greeter_callback_client greeter_callback_server
# The following is to test your system and ensure a smoother experience.
# They are by no means necessary to actually compile a grpc-enabled software.
PROTOC_CMD = which $(PROTOC)
PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q 'libprotoc.3\|libprotoc [0-9][0-9]\.'
PLUGIN_CHECK_CMD = which $(GRPC_CPP_PLUGIN)
HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false)
ifeq ($(HAS_PROTOC),true)
HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false)
endif
HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false)
SYSTEM_OK = false
ifeq ($(HAS_VALID_PROTOC),true)
ifeq ($(HAS_PLUGIN),true)
SYSTEM_OK = true
endif
endif
system-check:
ifneq ($(HAS_VALID_PROTOC),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have protoc 3.0.0 or newer installed in your path."
@echo "Please install an up-to-date version of Google protocol buffers."
@echo "You can find it here:"
@echo
@echo " https://github.com/protocolbuffers/protobuf/releases"
@echo
@echo "Here is what I get when trying to evaluate your version of protoc:"
@echo
-$(PROTOC) --version
@echo
@echo
endif
ifneq ($(HAS_PLUGIN),true)
@echo " DEPENDENCY ERROR"
@echo
@echo "You don't have the grpc c++ protobuf plugin installed in your path."
@echo "Please install grpc. You can find it here:"
@echo
@echo " https://github.com/grpc/grpc"
@echo
@echo "Here is what I get when trying to detect if you have the plugin:"
@echo
-which $(GRPC_CPP_PLUGIN)
@echo
@echo
endif
ifneq ($(SYSTEM_OK),true)
@false
endif

View File

@ -1,79 +0,0 @@
/*
*
* Copyright 2021 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.
*
*/
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "opentelemetry/exporters/ostream/metric_exporter.h"
#include "opentelemetry/exporters/ostream/metric_exporter_factory.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_factory.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#else
#include "../util.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with an ostream
// exporter.
auto ostream_exporter =
opentelemetry::exporter::metrics::OStreamMetricExporterFactory::Create();
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions
reader_options;
reader_options.export_interval_millis = std::chrono::milliseconds(1000);
reader_options.export_timeout_millis = std::chrono::milliseconds(500);
auto reader =
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderFactory::Create(
std::move(ostream_exporter), reader_options);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.client.attempt.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.client.attempt.duration", "s");
meter_provider->AddMetricReader(std::move(reader));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
// Continuously send RPCs every second.
RunClient(absl::GetFlag(FLAGS_target));
return 0;
}

View File

@ -1,78 +0,0 @@
/*
*
* Copyright 2021 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.
*
*/
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "opentelemetry/exporters/ostream/metric_exporter.h"
#include "opentelemetry/exporters/ostream/metric_exporter_factory.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h"
#include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_factory.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#else
#include "../util.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with an ostream
// exporter.
auto ostream_exporter =
opentelemetry::exporter::metrics::OStreamMetricExporterFactory::Create();
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions
reader_options;
reader_options.export_interval_millis = std::chrono::milliseconds(1000);
reader_options.export_timeout_millis = std::chrono::milliseconds(500);
auto reader =
opentelemetry::sdk::metrics::PeriodicExportingMetricReaderFactory::Create(
std::move(ostream_exporter), reader_options);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
// The default histogram boundaries are not granular enough for RPCs. Override
// the "grpc.server.call.duration" view as recommended by
// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md.
AddLatencyView(meter_provider.get(), "grpc.server.call.duration", "s");
meter_provider->AddMetricReader(std::move(reader));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

View File

@ -1,181 +0,0 @@
//
//
// Copyright 2024 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.
//
//
// Explicitly define HAVE_ABSEIL to avoid conflict with OTel's Abseil
// version. Refer
// https://github.com/open-telemetry/opentelemetry-cpp/issues/1042.
#ifndef HAVE_ABSEIL
#define HAVE_ABSEIL
#endif
#include <condition_variable>
#include <mutex>
#include "opentelemetry/sdk/metrics/view/instrument_selector_factory.h"
#include "opentelemetry/sdk/metrics/view/meter_selector_factory.h"
#include "opentelemetry/sdk/metrics/view/view_factory.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/cpp/otel/util.h"
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#include "util.h"
#endif
using grpc::CallbackServerContext;
using grpc::Channel;
using grpc::ClientContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
void AddLatencyView(opentelemetry::sdk::metrics::MeterProvider* provider,
const std::string& name, const std::string& unit) {
auto histogram_config = std::make_shared<
opentelemetry::sdk::metrics::HistogramAggregationConfig>();
histogram_config->boundaries_ = {
0, 0.00001, 0.00005, 0.0001, 0.0003, 0.0006, 0.0008, 0.001, 0.002,
0.003, 0.004, 0.005, 0.006, 0.008, 0.01, 0.013, 0.016, 0.02,
0.025, 0.03, 0.04, 0.05, 0.065, 0.08, 0.1, 0.13, 0.16,
0.2, 0.25, 0.3, 0.4, 0.5, 0.65, 0.8, 1, 2,
5, 10, 20, 50, 100};
provider->AddView(
opentelemetry::sdk::metrics::InstrumentSelectorFactory::Create(
opentelemetry::sdk::metrics::InstrumentType::kHistogram, name, unit),
opentelemetry::sdk::metrics::MeterSelectorFactory::Create(
"grpc-c++", grpc::Version(), ""),
opentelemetry::sdk::metrics::ViewFactory::Create(
name, "", unit,
opentelemetry::sdk::metrics::AggregationType::kHistogram,
std::move(histogram_config)));
}
namespace {
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
} // namespace
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
void RunClient(const std::string& target_str) {
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
grpc::ChannelArguments args;
// Continuously send RPCs every second.
while (true) {
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}

View File

@ -1,33 +0,0 @@
//
//
// Copyright 2024 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.
//
//
#ifndef GRPCPP_EXAMPLES_CPP_OTEL_UTIL_H
#define GRPCPP_EXAMPLES_CPP_OTEL_UTIL_H
#include <string>
#include "opentelemetry/sdk/metrics/meter_provider.h"
// Helper function that adds view for gRPC latency instrument \a name with unit
// \a unit with bucket boundaries that are more useful for RPCs.
void AddLatencyView(opentelemetry::sdk::metrics::MeterProvider* provider,
const std::string& name, const std::string& unit);
void RunServer(uint16_t port);
void RunClient(const std::string& target_str);
#endif // GRPCPP_EXAMPLES_CPP_OTEL_UTIL_H

View File

@ -27,10 +27,10 @@ objc_grpc_library(
deps = ["//examples/protos:helloworld_proto"], deps = ["//examples/protos:helloworld_proto"],
) )
# This one works with import "third_party/com_github_grpc_grpc/examples/protos/Keyvaluestore.pbrpc.h" # This one works with import "external/com_github_grpc_grpc/examples/protos/Keyvaluestore.pbrpc.h"
objc_grpc_library( objc_grpc_library(
name = "Keyvaluestore_grpc_proto_external", name = "Keyvaluestore_grpc_proto_external",
srcs = ["//third_party/com_github_grpc_grpc/examples/protos:keyvaluestore.proto"], srcs = ["//external/com_github_grpc_grpc/examples/protos:keyvaluestore.proto"],
tags = ["manual"], tags = ["manual"],
deps = ["@com_github_grpc_grpc//examples/protos:keyvaluestore_proto"], deps = ["@com_github_grpc_grpc//examples/protos:keyvaluestore_proto"],
) )

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: helloworld.proto # source: helloworld.proto
# Protobuf Python Version: 5.26.1 # Protobuf Python Version: 4.25.1
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
@ -19,8 +19,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10helloworld.pro
_globals = globals() _globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'helloworld_pb2', _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'helloworld_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS: if _descriptor._USE_C_DESCRIPTORS == False:
_globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._options = None
_globals['DESCRIPTOR']._serialized_options = b'\n\033io.grpc.examples.helloworldB\017HelloWorldProtoP\001\242\002\003HLW' _globals['DESCRIPTOR']._serialized_options = b'\n\033io.grpc.examples.helloworldB\017HelloWorldProtoP\001\242\002\003HLW'
_globals['_HELLOREQUEST']._serialized_start=32 _globals['_HELLOREQUEST']._serialized_start=32
_globals['_HELLOREQUEST']._serialized_end=60 _globals['_HELLOREQUEST']._serialized_end=60

View File

@ -5,7 +5,7 @@ import warnings
import helloworld_pb2 as helloworld__pb2 import helloworld_pb2 as helloworld__pb2
GRPC_GENERATED_VERSION = '1.64.0.dev0' GRPC_GENERATED_VERSION = '1.63.0.dev0'
GRPC_VERSION = grpc.__version__ GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.65.0' EXPECTED_ERROR_RELEASE = '1.65.0'
SCHEDULED_RELEASE_DATE = 'June 25, 2024' SCHEDULED_RELEASE_DATE = 'June 25, 2024'
@ -102,7 +102,6 @@ def add_GreeterServicer_to_server(servicer, server):
generic_handler = grpc.method_handlers_generic_handler( generic_handler = grpc.method_handlers_generic_handler(
'helloworld.Greeter', rpc_method_handlers) 'helloworld.Greeter', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,)) server.add_generic_rpc_handlers((generic_handler,))
server.add_registered_method_handlers('helloworld.Greeter', rpc_method_handlers)
# This class is part of an EXPERIMENTAL API. # This class is part of an EXPERIMENTAL API.

View File

@ -1,46 +0,0 @@
# Copyright 2024 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.
load("@grpc_python_dependencies//:requirements.bzl", "requirement")
# TODO(xuanwn): Instaed of using Bazel build, we should pip install all dependencies
# once we have a released version of grpcio-csm-observability.
py_binary(
name = "csm_greeter_client",
srcs = ["csm_greeter_client.py"],
python_version = "PY3",
deps = [
"//src/proto/grpc/testing:py_messages_proto",
"//src/proto/grpc/testing:py_test_proto",
"//src/proto/grpc/testing:test_py_pb2_grpc",
"//src/python/grpcio/grpc:grpcio",
"//src/python/grpcio_csm_observability/grpc_csm_observability:csm_observability",
requirement("opentelemetry-exporter-prometheus"),
],
)
py_binary(
name = "csm_greeter_server",
srcs = ["csm_greeter_server.py"],
python_version = "PY3",
deps = [
"//src/proto/grpc/testing:py_messages_proto",
"//src/proto/grpc/testing:py_test_proto",
"//src/proto/grpc/testing:test_py_pb2_grpc",
"//src/python/grpcio/grpc:grpcio",
"//src/python/grpcio_csm_observability/grpc_csm_observability:csm_observability",
requirement("opentelemetry-exporter-prometheus"),
],
)

View File

@ -1,26 +0,0 @@
FROM python:3.9-slim-bookworm
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y build-essential clang curl
WORKDIR /workdir
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN mkdir /artifacts
COPY . .
RUN tools/bazel build -c dbg //examples/python/observability/csm:csm_greeter_client
RUN cp -rL /workdir/bazel-bin/examples/python/observability/csm/csm_greeter_client* /artifacts/
FROM python:3.9-slim-bookworm
RUN apt-get update -y \
&& apt-get install -y python3 \
&& apt-get -y autoremove \
&& apt-get install -y curl \
&& rm -rf /var/lib/apt/lists/*
RUN ln -s /usr/bin/python3 /usr/bin/python
COPY --from=0 /artifacts ./
ENTRYPOINT ["/csm_greeter_client"]

View File

@ -1,26 +0,0 @@
FROM python:3.9-slim-bookworm
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y build-essential clang curl
WORKDIR /workdir
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN mkdir /artifacts
COPY . .
RUN tools/bazel build -c dbg //examples/python/observability/csm:csm_greeter_server
RUN cp -rL /workdir/bazel-bin/examples/python/observability/csm/csm_greeter_server* /artifacts/
FROM python:3.9-slim-bookworm
RUN apt-get update -y \
&& apt-get install -y python3 \
&& apt-get -y autoremove \
&& apt-get install -y curl \
&& rm -rf /var/lib/apt/lists/*
RUN ln -s /usr/bin/python3 /usr/bin/python
COPY --from=0 /artifacts ./
ENTRYPOINT ["/csm_greeter_server"]

View File

@ -1,33 +0,0 @@
# gRPC Python CSM Hello World Example
This CSM example builds on the [Python xDS Example](https://github.com/grpc/grpc/tree/master/examples/python/xds) and changes the gRPC client and server to accept configuration from an xDS control plane and test CSM observability.
## Configuration
The client takes the following command-line arguments -
* `--target` - By default, the client tries to connect to the target "xds:///helloworld:50051" and gRPC would use xDS to resolve this target and connect to the server backend. This can be overriden to change the target.
* `--secure_mode` - Whether to use xDS to retrieve server credentials. Default value is False.
* `--prometheus_endpoint` - Endpoint used for prometheus. Default value is localhost:9464.
The server takes the following command-line arguments -
* `--port` - Port on which the Hello World service is run. Defaults to 50051.
* `--secure_mode` - Whether to use xDS to retrieve server credentials. Default value is False.
* `--server_id` - The server ID to return in responses.
* `--prometheus_endpoint` - Endpoint used for prometheus. Default value is `localhost:9464`.
## Building
From the gRPC workspace folder:
Client:
```
docker build -f examples/python/observability/csm/Dockerfile.client -t "us-docker.pkg.dev/grpc-testing/examples/csm-o11y-example-python-client" .
```
Server:
```
docker build -f examples/python/observability/csm/Dockerfile.server -t "us-docker.pkg.dev/grpc-testing/examples/csm-o11y-example-python-server" .
```
And then push the tagged image using `docker push`.

View File

@ -1,101 +0,0 @@
# Copyright 2024 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.
import argparse
import logging
import time
import grpc
from grpc_csm_observability import CsmOpenTelemetryPlugin
from opentelemetry.exporter.prometheus import PrometheusMetricReader
from opentelemetry.sdk.metrics import MeterProvider
from prometheus_client import start_http_server
from src.proto.grpc.testing import messages_pb2
from src.proto.grpc.testing import test_pb2_grpc
logger = logging.getLogger()
console_handler = logging.StreamHandler()
formatter = logging.Formatter(fmt="%(asctime)s: %(levelname)-8s %(message)s")
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
def _run(target: int, secure_mode: bool, prometheus_endpoint: int):
csm_plugin = _prepare_csm_observability_plugin(prometheus_endpoint)
csm_plugin.register_global()
if secure_mode:
fallback_creds = grpc.experimental.insecure_channel_credentials()
channel_creds = grpc.xds_channel_credentials(fallback_creds)
channel = grpc.secure_channel(target, channel_creds)
else:
channel = grpc.insecure_channel(target)
with channel:
stub = test_pb2_grpc.TestServiceStub(channel)
# Continuously send RPCs every second.
while True:
request = messages_pb2.SimpleRequest()
logger.info("Sending request to server")
stub.UnaryCall(request)
time.sleep(1)
csm_plugin.deregister_global()
def _prepare_csm_observability_plugin(
prometheus_endpoint: int,
) -> CsmOpenTelemetryPlugin:
# Start Prometheus client
start_http_server(port=prometheus_endpoint, addr="0.0.0.0")
reader = PrometheusMetricReader()
meter_provider = MeterProvider(metric_readers=[reader])
csm_plugin = CsmOpenTelemetryPlugin(
meter_provider=meter_provider,
)
return csm_plugin
def bool_arg(arg: str) -> bool:
if arg.lower() in ("true", "yes", "y"):
return True
elif arg.lower() in ("false", "no", "n"):
return False
else:
raise argparse.ArgumentTypeError(f"Could not parse '{arg}' as a bool.")
if __name__ == "__main__":
logging.basicConfig()
logger.setLevel(logging.INFO)
parser = argparse.ArgumentParser(
description="Run Python CSM Observability Test client."
)
parser.add_argument(
"--target",
default="xds:///helloworld:50051",
help="The address of the server.",
)
parser.add_argument(
"--secure_mode",
default="False",
type=bool_arg,
help="If specified, uses xDS credentials to connect to the server.",
)
parser.add_argument(
"--prometheus_endpoint",
type=int,
default=9464,
help="Port for servers besides test server.",
)
args = parser.parse_args()
_run(args.target, args.secure_mode, args.prometheus_endpoint)

View File

@ -1,149 +0,0 @@
# Copyright 2024 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.
import argparse
from concurrent import futures
import logging
import socket
import grpc
from grpc_csm_observability import CsmOpenTelemetryPlugin
from opentelemetry.exporter.prometheus import PrometheusMetricReader
from opentelemetry.sdk.metrics import MeterProvider
from prometheus_client import start_http_server
from src.proto.grpc.testing import messages_pb2
from src.proto.grpc.testing import test_pb2_grpc
_LISTEN_HOST = "0.0.0.0"
_THREAD_POOL_SIZE = 256
logger = logging.getLogger()
console_handler = logging.StreamHandler()
formatter = logging.Formatter(fmt="%(asctime)s: %(levelname)-8s %(message)s")
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
class TestService(test_pb2_grpc.TestServiceServicer):
def __init__(self, server_id, hostname):
self._server_id = server_id
self._hostname = hostname
def UnaryCall(
self, request: messages_pb2.SimpleRequest, context: grpc.ServicerContext
) -> messages_pb2.SimpleResponse:
context.send_initial_metadata((("hostname", self._hostname),))
if request.response_size > 0:
response = messages_pb2.SimpleResponse(
payload=messages_pb2.Payload(body=b"0" * request.response_size)
)
else:
response = messages_pb2.SimpleResponse()
response.server_id = self._server_id
response.hostname = self._hostname
logger.info("Sending response to client")
return response
def _run(
port: int,
secure_mode: bool,
server_id: str,
prometheus_endpoint: int,
) -> None:
csm_plugin = _prepare_csm_observability_plugin(prometheus_endpoint)
csm_plugin.register_global()
server = grpc.server(
futures.ThreadPoolExecutor(max_workers=_THREAD_POOL_SIZE)
)
_configure_test_server(server, port, secure_mode, server_id)
server.start()
logger.info("Test server listening on port %d", port)
server.wait_for_termination()
csm_plugin.deregister_global()
def _prepare_csm_observability_plugin(
prometheus_endpoint: int,
) -> CsmOpenTelemetryPlugin:
# Start Prometheus client
start_http_server(port=prometheus_endpoint, addr="0.0.0.0")
reader = PrometheusMetricReader()
meter_provider = MeterProvider(metric_readers=[reader])
csm_plugin = CsmOpenTelemetryPlugin(
meter_provider=meter_provider,
)
return csm_plugin
def _configure_test_server(
server: grpc.Server, port: int, secure_mode: bool, server_id: str
) -> None:
test_pb2_grpc.add_TestServiceServicer_to_server(
TestService(server_id, socket.gethostname()), server
)
listen_address = f"{_LISTEN_HOST}:{port}"
if not secure_mode:
server.add_insecure_port(listen_address)
else:
logger.info("Running with xDS Server credentials")
server_fallback_creds = grpc.insecure_server_credentials()
server_creds = grpc.xds_server_credentials(server_fallback_creds)
server.add_secure_port(listen_address, server_creds)
def bool_arg(arg: str) -> bool:
if arg.lower() in ("true", "yes", "y"):
return True
elif arg.lower() in ("false", "no", "n"):
return False
else:
raise argparse.ArgumentTypeError(f"Could not parse '{arg}' as a bool.")
if __name__ == "__main__":
logging.basicConfig()
logger.setLevel(logging.INFO)
parser = argparse.ArgumentParser(
description="Run Python CSM Observability Test server."
)
parser.add_argument(
"--port", type=int, default=50051, help="Port for test server."
)
parser.add_argument(
"--secure_mode",
type=bool_arg,
default="False",
help="If specified, uses xDS to retrieve server credentials.",
)
parser.add_argument(
"--server_id",
type=str,
default="python_server",
help="The server ID to return in responses.",
)
parser.add_argument(
"--prometheus_endpoint",
type=int,
default=9464,
help="Port for servers besides test server.",
)
args = parser.parse_args()
_run(
args.port,
args.secure_mode,
args.server_id,
args.prometheus_endpoint,
)

View File

@ -1,3 +1,3 @@
grpcio>=1.62.0 grpcio>=1.62.0
grpcio-observability>=1.62.0 grpcio-observability>=1.62.0
opentelemetry-sdk>=1.21.0 opentelemetry-sdk==1.21.0

372
gRPC-C++.podspec generated
View File

@ -22,7 +22,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'gRPC-C++' s.name = 'gRPC-C++'
# TODO (mxyan): use version that match gRPC version when pod is stabilized # TODO (mxyan): use version that match gRPC version when pod is stabilized
version = '1.65.0-dev' version = '1.64.0-dev'
s.version = version s.version = version
s.summary = 'gRPC C++ library' s.summary = 'gRPC C++ library'
s.homepage = 'https://grpc.io' s.homepage = 'https://grpc.io'
@ -38,7 +38,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false
@ -176,7 +175,6 @@ Pod::Spec.new do |s|
'include/grpcpp/impl/service_type.h', 'include/grpcpp/impl/service_type.h',
'include/grpcpp/impl/status.h', 'include/grpcpp/impl/status.h',
'include/grpcpp/impl/sync.h', 'include/grpcpp/impl/sync.h',
'include/grpcpp/passive_listener.h',
'include/grpcpp/resource_quota.h', 'include/grpcpp/resource_quota.h',
'include/grpcpp/security/audit_logging.h', 'include/grpcpp/security/audit_logging.h',
'include/grpcpp/security/auth_context.h', 'include/grpcpp/security/auth_context.h',
@ -227,7 +225,7 @@ Pod::Spec.new do |s|
ss.dependency "#{s.name}/Privacy", version ss.dependency "#{s.name}/Privacy", version
ss.dependency "#{s.name}/Interface", version ss.dependency "#{s.name}/Interface", version
ss.dependency 'gRPC-Core', version ss.dependency 'gRPC-Core', version
abseil_version = '~> 1.20240116.2' abseil_version = '1.20240116.1'
ss.dependency 'abseil/algorithm/container', abseil_version ss.dependency 'abseil/algorithm/container', abseil_version
ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version ss.dependency 'abseil/base/config', abseil_version
@ -244,10 +242,6 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/functional/bind_front', abseil_version ss.dependency 'abseil/functional/bind_front', abseil_version
ss.dependency 'abseil/functional/function_ref', abseil_version ss.dependency 'abseil/functional/function_ref', abseil_version
ss.dependency 'abseil/hash/hash', abseil_version ss.dependency 'abseil/hash/hash', abseil_version
ss.dependency 'abseil/log/absl_check', abseil_version
ss.dependency 'abseil/log/absl_log', abseil_version
ss.dependency 'abseil/log/check', abseil_version
ss.dependency 'abseil/log/globals', abseil_version
ss.dependency 'abseil/log/log', abseil_version ss.dependency 'abseil/log/log', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/meta/type_traits', abseil_version ss.dependency 'abseil/meta/type_traits', abseil_version
@ -266,11 +260,8 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/types/variant', abseil_version ss.dependency 'abseil/types/variant', abseil_version
ss.dependency 'abseil/utility/utility', abseil_version ss.dependency 'abseil/utility/utility', abseil_version
ss.source_files = 'src/core/channelz/channel_trace.h', ss.source_files = 'src/core/client_channel/backup_poller.h',
'src/core/channelz/channelz.h', 'src/core/client_channel/client_channel_channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel.h',
'src/core/client_channel/client_channel_factory.h', 'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h', 'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h', 'src/core/client_channel/client_channel_internal.h',
@ -279,7 +270,7 @@ Pod::Spec.new do |s|
'src/core/client_channel/connector.h', 'src/core/client_channel/connector.h',
'src/core/client_channel/dynamic_filters.h', 'src/core/client_channel/dynamic_filters.h',
'src/core/client_channel/global_subchannel_pool.h', 'src/core/client_channel/global_subchannel_pool.h',
'src/core/client_channel/load_balanced_call_destination.h', 'src/core/client_channel/http_proxy_mapper.h',
'src/core/client_channel/local_subchannel_pool.h', 'src/core/client_channel/local_subchannel_pool.h',
'src/core/client_channel/retry_filter.h', 'src/core/client_channel/retry_filter.h',
'src/core/client_channel/retry_filter_legacy_call_data.h', 'src/core/client_channel/retry_filter_legacy_call_data.h',
@ -293,6 +284,7 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h', 'src/core/ext/filters/http/client/http_client_filter.h',
@ -302,8 +294,11 @@ Pod::Spec.new do |s|
'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h', 'src/core/ext/filters/rbac/rbac_filter.h',
'src/core/ext/filters/rbac/rbac_service_config_parser.h', 'src/core/ext/filters/rbac/rbac_service_config_parser.h',
'src/core/ext/filters/server_config_selector/server_config_selector.h',
'src/core/ext/filters/server_config_selector/server_config_selector_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_filter.h', 'src/core/ext/filters/stateful_session/stateful_session_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h', 'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h',
'src/core/ext/gcp/metadata_query.h',
'src/core/ext/transport/binder/client/binder_connector.cc', 'src/core/ext/transport/binder/client/binder_connector.cc',
'src/core/ext/transport/binder/client/binder_connector.h', 'src/core/ext/transport/binder/client/binder_connector.h',
'src/core/ext/transport/binder/client/channel_create.cc', 'src/core/ext/transport/binder/client/channel_create.cc',
@ -365,6 +360,7 @@ Pod::Spec.new do |s|
'src/core/ext/transport/chttp2/transport/hpack_parser.h', 'src/core/ext/transport/chttp2/transport/hpack_parser.h',
'src/core/ext/transport/chttp2/transport/hpack_parser_table.h', 'src/core/ext/transport/chttp2/transport/hpack_parser_table.h',
'src/core/ext/transport/chttp2/transport/http2_settings.h', 'src/core/ext/transport/chttp2/transport/http2_settings.h',
'src/core/ext/transport/chttp2/transport/http_trace.h',
'src/core/ext/transport/chttp2/transport/huffsyms.h', 'src/core/ext/transport/chttp2/transport/huffsyms.h',
'src/core/ext/transport/chttp2/transport/internal.h', 'src/core/ext/transport/chttp2/transport/internal.h',
'src/core/ext/transport/chttp2/transport/legacy_frame.h', 'src/core/ext/transport/chttp2/transport/legacy_frame.h',
@ -858,41 +854,72 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h',
'src/core/handshaker/endpoint_info/endpoint_info_handshaker.h', 'src/core/ext/xds/certificate_provider_store.h',
'src/core/handshaker/handshaker.h', 'src/core/ext/xds/file_watcher_certificate_provider_factory.h',
'src/core/handshaker/handshaker_factory.h', 'src/core/ext/xds/upb_utils.h',
'src/core/handshaker/handshaker_registry.h', 'src/core/ext/xds/xds_api.h',
'src/core/handshaker/http_connect/http_connect_handshaker.h', 'src/core/ext/xds/xds_audit_logger_registry.h',
'src/core/handshaker/http_connect/http_proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap.h',
'src/core/handshaker/proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap_grpc.h',
'src/core/handshaker/proxy_mapper_registry.h', 'src/core/ext/xds/xds_certificate_provider.h',
'src/core/handshaker/security/secure_endpoint.h', 'src/core/ext/xds/xds_channel_args.h',
'src/core/handshaker/security/security_handshaker.h', 'src/core/ext/xds/xds_channel_stack_modifier.h',
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h', 'src/core/ext/xds/xds_client.h',
'src/core/ext/xds/xds_client_grpc.h',
'src/core/ext/xds/xds_client_stats.h',
'src/core/ext/xds/xds_cluster.h',
'src/core/ext/xds/xds_cluster_specifier_plugin.h',
'src/core/ext/xds/xds_common_types.h',
'src/core/ext/xds/xds_enabled_server.h',
'src/core/ext/xds/xds_endpoint.h',
'src/core/ext/xds/xds_health_status.h',
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
'src/core/ext/xds/xds_routing.h',
'src/core/ext/xds/xds_transport.h',
'src/core/ext/xds/xds_transport_grpc.h',
'src/core/lib/address_utils/parse_address.h', 'src/core/lib/address_utils/parse_address.h',
'src/core/lib/address_utils/sockaddr_utils.h', 'src/core/lib/address_utils/sockaddr_utils.h',
'src/core/lib/avl/avl.h', 'src/core/lib/avl/avl.h',
'src/core/lib/backoff/backoff.h', 'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h', 'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h', 'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h', 'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h', 'src/core/lib/channel/channel_fwd.h',
'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack.h',
'src/core/lib/channel/channel_stack_builder.h', 'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h', 'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h', 'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h', 'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h', 'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h', 'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h', 'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h', 'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h', 'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h', 'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h', 'src/core/lib/debug/trace.h',
'src/core/lib/debug/trace_flags.h',
'src/core/lib/debug/trace_impl.h',
'src/core/lib/event_engine/ares_resolver.h', 'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h', 'src/core/lib/event_engine/cf_engine/cf_engine.h',
'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h', 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
@ -906,7 +933,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
'src/core/lib/event_engine/extensions/tcp_trace.h',
'src/core/lib/event_engine/forkable.h', 'src/core/lib/event_engine/forkable.h',
'src/core/lib/event_engine/grpc_polled_fd.h', 'src/core/lib/event_engine/grpc_polled_fd.h',
'src/core/lib/event_engine/handle_containers.h', 'src/core/lib/event_engine/handle_containers.h',
@ -960,6 +986,13 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/work_queue/work_queue.h', 'src/core/lib/event_engine/work_queue/work_queue.h',
'src/core/lib/experiments/config.h', 'src/core/lib/experiments/config.h',
'src/core/lib/experiments/experiments.h', 'src/core/lib/experiments/experiments.h',
'src/core/lib/gpr/alloc.h',
'src/core/lib/gpr/log_internal.h',
'src/core/lib/gpr/spinlock.h',
'src/core/lib/gpr/string.h',
'src/core/lib/gpr/time_precise.h',
'src/core/lib/gpr/tmpfile.h',
'src/core/lib/gpr/useful.h',
'src/core/lib/gprpp/atomic_utils.h', 'src/core/lib/gprpp/atomic_utils.h',
'src/core/lib/gprpp/bitset.h', 'src/core/lib/gprpp/bitset.h',
'src/core/lib/gprpp/chunked_vector.h', 'src/core/lib/gprpp/chunked_vector.h',
@ -970,11 +1003,9 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/directory_reader.h', 'src/core/lib/gprpp/directory_reader.h',
'src/core/lib/gprpp/down_cast.h', 'src/core/lib/gprpp/down_cast.h',
'src/core/lib/gprpp/dual_ref_counted.h', 'src/core/lib/gprpp/dual_ref_counted.h',
'src/core/lib/gprpp/dump_args.h',
'src/core/lib/gprpp/env.h', 'src/core/lib/gprpp/env.h',
'src/core/lib/gprpp/examine_stack.h', 'src/core/lib/gprpp/examine_stack.h',
'src/core/lib/gprpp/fork.h', 'src/core/lib/gprpp/fork.h',
'src/core/lib/gprpp/glob.h',
'src/core/lib/gprpp/host_port.h', 'src/core/lib/gprpp/host_port.h',
'src/core/lib/gprpp/if_list.h', 'src/core/lib/gprpp/if_list.h',
'src/core/lib/gprpp/load_file.h', 'src/core/lib/gprpp/load_file.h',
@ -1009,6 +1040,12 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/validation_errors.h', 'src/core/lib/gprpp/validation_errors.h',
'src/core/lib/gprpp/work_serializer.h', 'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/gprpp/xxhash_inline.h', 'src/core/lib/gprpp/xxhash_inline.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',
'src/core/lib/http/parser.h',
'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/block_annotate.h',
'src/core/lib/iomgr/buffer_list.h', 'src/core/lib/iomgr/buffer_list.h',
'src/core/lib/iomgr/call_combiner.h', 'src/core/lib/iomgr/call_combiner.h',
@ -1074,6 +1111,13 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h', 'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h', 'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h', 'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h', 'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h', 'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h', 'src/core/lib/promise/all_ok.h',
@ -1093,7 +1137,6 @@ Pod::Spec.new do |s|
'src/core/lib/promise/latch.h', 'src/core/lib/promise/latch.h',
'src/core/lib/promise/loop.h', 'src/core/lib/promise/loop.h',
'src/core/lib/promise/map.h', 'src/core/lib/promise/map.h',
'src/core/lib/promise/observable.h',
'src/core/lib/promise/party.h', 'src/core/lib/promise/party.h',
'src/core/lib/promise/pipe.h', 'src/core/lib/promise/pipe.h',
'src/core/lib/promise/poll.h', 'src/core/lib/promise/poll.h',
@ -1103,6 +1146,7 @@ Pod::Spec.new do |s|
'src/core/lib/promise/seq.h', 'src/core/lib/promise/seq.h',
'src/core/lib/promise/sleep.h', 'src/core/lib/promise/sleep.h',
'src/core/lib/promise/status_flag.h', 'src/core/lib/promise/status_flag.h',
'src/core/lib/promise/trace.h',
'src/core/lib/promise/try_join.h', 'src/core/lib/promise/try_join.h',
'src/core/lib/promise/try_seq.h', 'src/core/lib/promise/try_seq.h',
'src/core/lib/resource_quota/api.h', 'src/core/lib/resource_quota/api.h',
@ -1112,6 +1156,7 @@ Pod::Spec.new do |s|
'src/core/lib/resource_quota/periodic_update.h', 'src/core/lib/resource_quota/periodic_update.h',
'src/core/lib/resource_quota/resource_quota.h', 'src/core/lib/resource_quota/resource_quota.h',
'src/core/lib/resource_quota/thread_quota.h', 'src/core/lib/resource_quota/thread_quota.h',
'src/core/lib/resource_quota/trace.h',
'src/core/lib/security/authorization/audit_logging.h', 'src/core/lib/security/authorization/audit_logging.h',
'src/core/lib/security/authorization/authorization_engine.h', 'src/core/lib/security/authorization/authorization_engine.h',
'src/core/lib/security/authorization/authorization_policy_provider.h', 'src/core/lib/security/authorization/authorization_policy_provider.h',
@ -1166,6 +1211,9 @@ Pod::Spec.new do |s|
'src/core/lib/security/security_connector/ssl_utils.h', 'src/core/lib/security/security_connector/ssl_utils.h',
'src/core/lib/security/security_connector/tls/tls_security_connector.h', 'src/core/lib/security/security_connector/tls/tls_security_connector.h',
'src/core/lib/security/transport/auth_filters.h', 'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h', 'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/percent_encoding.h', 'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice.h', 'src/core/lib/slice/slice.h',
@ -1176,33 +1224,37 @@ Pod::Spec.new do |s|
'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h', 'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h', 'src/core/lib/surface/call_test_only.h',
'src/core/lib/surface/call_utils.h', 'src/core/lib/surface/call_trace.h',
'src/core/lib/surface/channel.h', 'src/core/lib/surface/channel.h',
'src/core/lib/surface/channel_create.h', 'src/core/lib/surface/channel_create.h',
'src/core/lib/surface/channel_init.h', 'src/core/lib/surface/channel_init.h',
'src/core/lib/surface/channel_stack_type.h', 'src/core/lib/surface/channel_stack_type.h',
'src/core/lib/surface/client_call.h',
'src/core/lib/surface/completion_queue.h', 'src/core/lib/surface/completion_queue.h',
'src/core/lib/surface/completion_queue_factory.h', 'src/core/lib/surface/completion_queue_factory.h',
'src/core/lib/surface/event_string.h', 'src/core/lib/surface/event_string.h',
'src/core/lib/surface/filter_stack_call.h',
'src/core/lib/surface/init.h', 'src/core/lib/surface/init.h',
'src/core/lib/surface/init_internally.h', 'src/core/lib/surface/init_internally.h',
'src/core/lib/surface/lame_client.h', 'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/legacy_channel.h', 'src/core/lib/surface/legacy_channel.h',
'src/core/lib/surface/server_call.h', 'src/core/lib/surface/server.h',
'src/core/lib/surface/server_interface.h',
'src/core/lib/surface/validate_metadata.h', 'src/core/lib/surface/validate_metadata.h',
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h', 'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_arena_allocator.h',
'src/core/lib/transport/call_destination.h',
'src/core/lib/transport/call_filters.h', 'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h', 'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h', 'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h', 'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h', 'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h', 'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
'src/core/lib/transport/handshaker_registry.h',
'src/core/lib/transport/http2_errors.h', 'src/core/lib/transport/http2_errors.h',
'src/core/lib/transport/interception_chain.h', 'src/core/lib/transport/http_connect_handshaker.h',
'src/core/lib/transport/message.h', 'src/core/lib/transport/message.h',
'src/core/lib/transport/metadata.h', 'src/core/lib/transport/metadata.h',
'src/core/lib/transport/metadata_batch.h', 'src/core/lib/transport/metadata_batch.h',
@ -1211,6 +1263,7 @@ Pod::Spec.new do |s|
'src/core/lib/transport/parsed_metadata.h', 'src/core/lib/transport/parsed_metadata.h',
'src/core/lib/transport/simple_slice_based_metadata.h', 'src/core/lib/transport/simple_slice_based_metadata.h',
'src/core/lib/transport/status_conversion.h', 'src/core/lib/transport/status_conversion.h',
'src/core/lib/transport/tcp_connect_handshaker.h',
'src/core/lib/transport/timeout_encoding.h', 'src/core/lib/transport/timeout_encoding.h',
'src/core/lib/transport/transport.h', 'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h', 'src/core/lib/transport/transport_fwd.h',
@ -1258,22 +1311,11 @@ Pod::Spec.new do |s|
'src/core/resolver/server_address.h', 'src/core/resolver/server_address.h',
'src/core/resolver/xds/xds_dependency_manager.h', 'src/core/resolver/xds/xds_dependency_manager.h',
'src/core/resolver/xds/xds_resolver_attributes.h', 'src/core/resolver/xds/xds_resolver_attributes.h',
'src/core/server/server.h', 'src/core/resolver/xds/xds_resolver_trace.h',
'src/core/server/server_call_tracer_filter.h',
'src/core/server/server_config_selector.h',
'src/core/server/server_config_selector_filter.h',
'src/core/server/server_interface.h',
'src/core/server/xds_channel_stack_modifier.h',
'src/core/service_config/service_config.h', 'src/core/service_config/service_config.h',
'src/core/service_config/service_config_call_data.h', 'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h', 'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h', 'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h', 'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h', 'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h', 'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -1303,55 +1345,6 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_grpc.h', 'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h', 'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/gcp_metadata_query.h',
'src/core/util/http_client/format_request.h',
'src/core/util/http_client/httpcli.h',
'src/core/util/http_client/httpcli_ssl_credentials.h',
'src/core/util/http_client/parser.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',
'src/core/util/tmpfile.h',
'src/core/util/useful.h',
'src/core/xds/grpc/certificate_provider_store.h',
'src/core/xds/grpc/file_watcher_certificate_provider_factory.h',
'src/core/xds/grpc/upb_utils.h',
'src/core/xds/grpc/xds_audit_logger_registry.h',
'src/core/xds/grpc/xds_bootstrap_grpc.h',
'src/core/xds/grpc/xds_certificate_provider.h',
'src/core/xds/grpc/xds_client_grpc.h',
'src/core/xds/grpc/xds_cluster.h',
'src/core/xds/grpc/xds_cluster_specifier_plugin.h',
'src/core/xds/grpc/xds_common_types.h',
'src/core/xds/grpc/xds_enabled_server.h',
'src/core/xds/grpc/xds_endpoint.h',
'src/core/xds/grpc/xds_health_status.h',
'src/core/xds/grpc/xds_http_fault_filter.h',
'src/core/xds/grpc/xds_http_filters.h',
'src/core/xds/grpc/xds_http_rbac_filter.h',
'src/core/xds/grpc/xds_http_stateful_session_filter.h',
'src/core/xds/grpc/xds_lb_policy_registry.h',
'src/core/xds/grpc/xds_listener.h',
'src/core/xds/grpc/xds_route_config.h',
'src/core/xds/grpc/xds_routing.h',
'src/core/xds/grpc/xds_transport_grpc.h',
'src/core/xds/xds_client/xds_api.h',
'src/core/xds/xds_client/xds_bootstrap.h',
'src/core/xds/xds_client/xds_channel_args.h',
'src/core/xds/xds_client/xds_client.h',
'src/core/xds/xds_client/xds_client_stats.h',
'src/core/xds/xds_client/xds_metrics.h',
'src/core/xds/xds_client/xds_resource_type.h',
'src/core/xds/xds_client/xds_resource_type_impl.h',
'src/core/xds/xds_client/xds_transport.h',
'src/cpp/client/call_credentials.cc', 'src/cpp/client/call_credentials.cc',
'src/cpp/client/channel_cc.cc', 'src/cpp/client/channel_cc.cc',
'src/cpp/client/channel_credentials.cc', 'src/cpp/client/channel_credentials.cc',
@ -1557,11 +1550,8 @@ Pod::Spec.new do |s|
'third_party/zlib/zlib.h', 'third_party/zlib/zlib.h',
'third_party/zlib/zutil.h' 'third_party/zlib/zutil.h'
ss.private_header_files = 'src/core/channelz/channel_trace.h', ss.private_header_files = 'src/core/client_channel/backup_poller.h',
'src/core/channelz/channelz.h', 'src/core/client_channel/client_channel_channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel.h',
'src/core/client_channel/client_channel_factory.h', 'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h', 'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h', 'src/core/client_channel/client_channel_internal.h',
@ -1570,7 +1560,7 @@ Pod::Spec.new do |s|
'src/core/client_channel/connector.h', 'src/core/client_channel/connector.h',
'src/core/client_channel/dynamic_filters.h', 'src/core/client_channel/dynamic_filters.h',
'src/core/client_channel/global_subchannel_pool.h', 'src/core/client_channel/global_subchannel_pool.h',
'src/core/client_channel/load_balanced_call_destination.h', 'src/core/client_channel/http_proxy_mapper.h',
'src/core/client_channel/local_subchannel_pool.h', 'src/core/client_channel/local_subchannel_pool.h',
'src/core/client_channel/retry_filter.h', 'src/core/client_channel/retry_filter.h',
'src/core/client_channel/retry_filter_legacy_call_data.h', 'src/core/client_channel/retry_filter_legacy_call_data.h',
@ -1584,6 +1574,7 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h', 'src/core/ext/filters/http/client/http_client_filter.h',
@ -1593,8 +1584,11 @@ Pod::Spec.new do |s|
'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h', 'src/core/ext/filters/rbac/rbac_filter.h',
'src/core/ext/filters/rbac/rbac_service_config_parser.h', 'src/core/ext/filters/rbac/rbac_service_config_parser.h',
'src/core/ext/filters/server_config_selector/server_config_selector.h',
'src/core/ext/filters/server_config_selector/server_config_selector_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_filter.h', 'src/core/ext/filters/stateful_session/stateful_session_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h', 'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h',
'src/core/ext/gcp/metadata_query.h',
'src/core/ext/transport/binder/client/binder_connector.h', 'src/core/ext/transport/binder/client/binder_connector.h',
'src/core/ext/transport/binder/client/channel_create_impl.h', 'src/core/ext/transport/binder/client/channel_create_impl.h',
'src/core/ext/transport/binder/client/connection_id_generator.h', 'src/core/ext/transport/binder/client/connection_id_generator.h',
@ -1638,6 +1632,7 @@ Pod::Spec.new do |s|
'src/core/ext/transport/chttp2/transport/hpack_parser.h', 'src/core/ext/transport/chttp2/transport/hpack_parser.h',
'src/core/ext/transport/chttp2/transport/hpack_parser_table.h', 'src/core/ext/transport/chttp2/transport/hpack_parser_table.h',
'src/core/ext/transport/chttp2/transport/http2_settings.h', 'src/core/ext/transport/chttp2/transport/http2_settings.h',
'src/core/ext/transport/chttp2/transport/http_trace.h',
'src/core/ext/transport/chttp2/transport/huffsyms.h', 'src/core/ext/transport/chttp2/transport/huffsyms.h',
'src/core/ext/transport/chttp2/transport/internal.h', 'src/core/ext/transport/chttp2/transport/internal.h',
'src/core/ext/transport/chttp2/transport/legacy_frame.h', 'src/core/ext/transport/chttp2/transport/legacy_frame.h',
@ -2131,41 +2126,72 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h',
'src/core/handshaker/endpoint_info/endpoint_info_handshaker.h', 'src/core/ext/xds/certificate_provider_store.h',
'src/core/handshaker/handshaker.h', 'src/core/ext/xds/file_watcher_certificate_provider_factory.h',
'src/core/handshaker/handshaker_factory.h', 'src/core/ext/xds/upb_utils.h',
'src/core/handshaker/handshaker_registry.h', 'src/core/ext/xds/xds_api.h',
'src/core/handshaker/http_connect/http_connect_handshaker.h', 'src/core/ext/xds/xds_audit_logger_registry.h',
'src/core/handshaker/http_connect/http_proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap.h',
'src/core/handshaker/proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap_grpc.h',
'src/core/handshaker/proxy_mapper_registry.h', 'src/core/ext/xds/xds_certificate_provider.h',
'src/core/handshaker/security/secure_endpoint.h', 'src/core/ext/xds/xds_channel_args.h',
'src/core/handshaker/security/security_handshaker.h', 'src/core/ext/xds/xds_channel_stack_modifier.h',
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h', 'src/core/ext/xds/xds_client.h',
'src/core/ext/xds/xds_client_grpc.h',
'src/core/ext/xds/xds_client_stats.h',
'src/core/ext/xds/xds_cluster.h',
'src/core/ext/xds/xds_cluster_specifier_plugin.h',
'src/core/ext/xds/xds_common_types.h',
'src/core/ext/xds/xds_enabled_server.h',
'src/core/ext/xds/xds_endpoint.h',
'src/core/ext/xds/xds_health_status.h',
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
'src/core/ext/xds/xds_routing.h',
'src/core/ext/xds/xds_transport.h',
'src/core/ext/xds/xds_transport_grpc.h',
'src/core/lib/address_utils/parse_address.h', 'src/core/lib/address_utils/parse_address.h',
'src/core/lib/address_utils/sockaddr_utils.h', 'src/core/lib/address_utils/sockaddr_utils.h',
'src/core/lib/avl/avl.h', 'src/core/lib/avl/avl.h',
'src/core/lib/backoff/backoff.h', 'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h', 'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h', 'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h', 'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h', 'src/core/lib/channel/channel_fwd.h',
'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack.h',
'src/core/lib/channel/channel_stack_builder.h', 'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h', 'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h', 'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h', 'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h', 'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h', 'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h', 'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h', 'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h', 'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h', 'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h', 'src/core/lib/debug/trace.h',
'src/core/lib/debug/trace_flags.h',
'src/core/lib/debug/trace_impl.h',
'src/core/lib/event_engine/ares_resolver.h', 'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h', 'src/core/lib/event_engine/cf_engine/cf_engine.h',
'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h', 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
@ -2179,7 +2205,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
'src/core/lib/event_engine/extensions/tcp_trace.h',
'src/core/lib/event_engine/forkable.h', 'src/core/lib/event_engine/forkable.h',
'src/core/lib/event_engine/grpc_polled_fd.h', 'src/core/lib/event_engine/grpc_polled_fd.h',
'src/core/lib/event_engine/handle_containers.h', 'src/core/lib/event_engine/handle_containers.h',
@ -2233,6 +2258,13 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/work_queue/work_queue.h', 'src/core/lib/event_engine/work_queue/work_queue.h',
'src/core/lib/experiments/config.h', 'src/core/lib/experiments/config.h',
'src/core/lib/experiments/experiments.h', 'src/core/lib/experiments/experiments.h',
'src/core/lib/gpr/alloc.h',
'src/core/lib/gpr/log_internal.h',
'src/core/lib/gpr/spinlock.h',
'src/core/lib/gpr/string.h',
'src/core/lib/gpr/time_precise.h',
'src/core/lib/gpr/tmpfile.h',
'src/core/lib/gpr/useful.h',
'src/core/lib/gprpp/atomic_utils.h', 'src/core/lib/gprpp/atomic_utils.h',
'src/core/lib/gprpp/bitset.h', 'src/core/lib/gprpp/bitset.h',
'src/core/lib/gprpp/chunked_vector.h', 'src/core/lib/gprpp/chunked_vector.h',
@ -2243,11 +2275,9 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/directory_reader.h', 'src/core/lib/gprpp/directory_reader.h',
'src/core/lib/gprpp/down_cast.h', 'src/core/lib/gprpp/down_cast.h',
'src/core/lib/gprpp/dual_ref_counted.h', 'src/core/lib/gprpp/dual_ref_counted.h',
'src/core/lib/gprpp/dump_args.h',
'src/core/lib/gprpp/env.h', 'src/core/lib/gprpp/env.h',
'src/core/lib/gprpp/examine_stack.h', 'src/core/lib/gprpp/examine_stack.h',
'src/core/lib/gprpp/fork.h', 'src/core/lib/gprpp/fork.h',
'src/core/lib/gprpp/glob.h',
'src/core/lib/gprpp/host_port.h', 'src/core/lib/gprpp/host_port.h',
'src/core/lib/gprpp/if_list.h', 'src/core/lib/gprpp/if_list.h',
'src/core/lib/gprpp/load_file.h', 'src/core/lib/gprpp/load_file.h',
@ -2282,6 +2312,12 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/validation_errors.h', 'src/core/lib/gprpp/validation_errors.h',
'src/core/lib/gprpp/work_serializer.h', 'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/gprpp/xxhash_inline.h', 'src/core/lib/gprpp/xxhash_inline.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',
'src/core/lib/http/parser.h',
'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/block_annotate.h',
'src/core/lib/iomgr/buffer_list.h', 'src/core/lib/iomgr/buffer_list.h',
'src/core/lib/iomgr/call_combiner.h', 'src/core/lib/iomgr/call_combiner.h',
@ -2347,6 +2383,13 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h', 'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h', 'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h', 'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h', 'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h', 'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h', 'src/core/lib/promise/all_ok.h',
@ -2366,7 +2409,6 @@ Pod::Spec.new do |s|
'src/core/lib/promise/latch.h', 'src/core/lib/promise/latch.h',
'src/core/lib/promise/loop.h', 'src/core/lib/promise/loop.h',
'src/core/lib/promise/map.h', 'src/core/lib/promise/map.h',
'src/core/lib/promise/observable.h',
'src/core/lib/promise/party.h', 'src/core/lib/promise/party.h',
'src/core/lib/promise/pipe.h', 'src/core/lib/promise/pipe.h',
'src/core/lib/promise/poll.h', 'src/core/lib/promise/poll.h',
@ -2376,6 +2418,7 @@ Pod::Spec.new do |s|
'src/core/lib/promise/seq.h', 'src/core/lib/promise/seq.h',
'src/core/lib/promise/sleep.h', 'src/core/lib/promise/sleep.h',
'src/core/lib/promise/status_flag.h', 'src/core/lib/promise/status_flag.h',
'src/core/lib/promise/trace.h',
'src/core/lib/promise/try_join.h', 'src/core/lib/promise/try_join.h',
'src/core/lib/promise/try_seq.h', 'src/core/lib/promise/try_seq.h',
'src/core/lib/resource_quota/api.h', 'src/core/lib/resource_quota/api.h',
@ -2385,6 +2428,7 @@ Pod::Spec.new do |s|
'src/core/lib/resource_quota/periodic_update.h', 'src/core/lib/resource_quota/periodic_update.h',
'src/core/lib/resource_quota/resource_quota.h', 'src/core/lib/resource_quota/resource_quota.h',
'src/core/lib/resource_quota/thread_quota.h', 'src/core/lib/resource_quota/thread_quota.h',
'src/core/lib/resource_quota/trace.h',
'src/core/lib/security/authorization/audit_logging.h', 'src/core/lib/security/authorization/audit_logging.h',
'src/core/lib/security/authorization/authorization_engine.h', 'src/core/lib/security/authorization/authorization_engine.h',
'src/core/lib/security/authorization/authorization_policy_provider.h', 'src/core/lib/security/authorization/authorization_policy_provider.h',
@ -2439,6 +2483,9 @@ Pod::Spec.new do |s|
'src/core/lib/security/security_connector/ssl_utils.h', 'src/core/lib/security/security_connector/ssl_utils.h',
'src/core/lib/security/security_connector/tls/tls_security_connector.h', 'src/core/lib/security/security_connector/tls/tls_security_connector.h',
'src/core/lib/security/transport/auth_filters.h', 'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h', 'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/percent_encoding.h', 'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice.h', 'src/core/lib/slice/slice.h',
@ -2449,33 +2496,37 @@ Pod::Spec.new do |s|
'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h', 'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h', 'src/core/lib/surface/call_test_only.h',
'src/core/lib/surface/call_utils.h', 'src/core/lib/surface/call_trace.h',
'src/core/lib/surface/channel.h', 'src/core/lib/surface/channel.h',
'src/core/lib/surface/channel_create.h', 'src/core/lib/surface/channel_create.h',
'src/core/lib/surface/channel_init.h', 'src/core/lib/surface/channel_init.h',
'src/core/lib/surface/channel_stack_type.h', 'src/core/lib/surface/channel_stack_type.h',
'src/core/lib/surface/client_call.h',
'src/core/lib/surface/completion_queue.h', 'src/core/lib/surface/completion_queue.h',
'src/core/lib/surface/completion_queue_factory.h', 'src/core/lib/surface/completion_queue_factory.h',
'src/core/lib/surface/event_string.h', 'src/core/lib/surface/event_string.h',
'src/core/lib/surface/filter_stack_call.h',
'src/core/lib/surface/init.h', 'src/core/lib/surface/init.h',
'src/core/lib/surface/init_internally.h', 'src/core/lib/surface/init_internally.h',
'src/core/lib/surface/lame_client.h', 'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/legacy_channel.h', 'src/core/lib/surface/legacy_channel.h',
'src/core/lib/surface/server_call.h', 'src/core/lib/surface/server.h',
'src/core/lib/surface/server_interface.h',
'src/core/lib/surface/validate_metadata.h', 'src/core/lib/surface/validate_metadata.h',
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h', 'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_arena_allocator.h',
'src/core/lib/transport/call_destination.h',
'src/core/lib/transport/call_filters.h', 'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h', 'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h', 'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h', 'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h', 'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h', 'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
'src/core/lib/transport/handshaker_registry.h',
'src/core/lib/transport/http2_errors.h', 'src/core/lib/transport/http2_errors.h',
'src/core/lib/transport/interception_chain.h', 'src/core/lib/transport/http_connect_handshaker.h',
'src/core/lib/transport/message.h', 'src/core/lib/transport/message.h',
'src/core/lib/transport/metadata.h', 'src/core/lib/transport/metadata.h',
'src/core/lib/transport/metadata_batch.h', 'src/core/lib/transport/metadata_batch.h',
@ -2484,6 +2535,7 @@ Pod::Spec.new do |s|
'src/core/lib/transport/parsed_metadata.h', 'src/core/lib/transport/parsed_metadata.h',
'src/core/lib/transport/simple_slice_based_metadata.h', 'src/core/lib/transport/simple_slice_based_metadata.h',
'src/core/lib/transport/status_conversion.h', 'src/core/lib/transport/status_conversion.h',
'src/core/lib/transport/tcp_connect_handshaker.h',
'src/core/lib/transport/timeout_encoding.h', 'src/core/lib/transport/timeout_encoding.h',
'src/core/lib/transport/transport.h', 'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h', 'src/core/lib/transport/transport_fwd.h',
@ -2531,22 +2583,11 @@ Pod::Spec.new do |s|
'src/core/resolver/server_address.h', 'src/core/resolver/server_address.h',
'src/core/resolver/xds/xds_dependency_manager.h', 'src/core/resolver/xds/xds_dependency_manager.h',
'src/core/resolver/xds/xds_resolver_attributes.h', 'src/core/resolver/xds/xds_resolver_attributes.h',
'src/core/server/server.h', 'src/core/resolver/xds/xds_resolver_trace.h',
'src/core/server/server_call_tracer_filter.h',
'src/core/server/server_config_selector.h',
'src/core/server/server_config_selector_filter.h',
'src/core/server/server_interface.h',
'src/core/server/xds_channel_stack_modifier.h',
'src/core/service_config/service_config.h', 'src/core/service_config/service_config.h',
'src/core/service_config/service_config_call_data.h', 'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h', 'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h', 'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h', 'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h', 'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h', 'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -2576,55 +2617,6 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_grpc.h', 'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h', 'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/gcp_metadata_query.h',
'src/core/util/http_client/format_request.h',
'src/core/util/http_client/httpcli.h',
'src/core/util/http_client/httpcli_ssl_credentials.h',
'src/core/util/http_client/parser.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',
'src/core/util/tmpfile.h',
'src/core/util/useful.h',
'src/core/xds/grpc/certificate_provider_store.h',
'src/core/xds/grpc/file_watcher_certificate_provider_factory.h',
'src/core/xds/grpc/upb_utils.h',
'src/core/xds/grpc/xds_audit_logger_registry.h',
'src/core/xds/grpc/xds_bootstrap_grpc.h',
'src/core/xds/grpc/xds_certificate_provider.h',
'src/core/xds/grpc/xds_client_grpc.h',
'src/core/xds/grpc/xds_cluster.h',
'src/core/xds/grpc/xds_cluster_specifier_plugin.h',
'src/core/xds/grpc/xds_common_types.h',
'src/core/xds/grpc/xds_enabled_server.h',
'src/core/xds/grpc/xds_endpoint.h',
'src/core/xds/grpc/xds_health_status.h',
'src/core/xds/grpc/xds_http_fault_filter.h',
'src/core/xds/grpc/xds_http_filters.h',
'src/core/xds/grpc/xds_http_rbac_filter.h',
'src/core/xds/grpc/xds_http_stateful_session_filter.h',
'src/core/xds/grpc/xds_lb_policy_registry.h',
'src/core/xds/grpc/xds_listener.h',
'src/core/xds/grpc/xds_route_config.h',
'src/core/xds/grpc/xds_routing.h',
'src/core/xds/grpc/xds_transport_grpc.h',
'src/core/xds/xds_client/xds_api.h',
'src/core/xds/xds_client/xds_bootstrap.h',
'src/core/xds/xds_client/xds_channel_args.h',
'src/core/xds/xds_client/xds_client.h',
'src/core/xds/xds_client/xds_client_stats.h',
'src/core/xds/xds_client/xds_metrics.h',
'src/core/xds/xds_client/xds_resource_type.h',
'src/core/xds/xds_client/xds_resource_type_impl.h',
'src/core/xds/xds_client/xds_transport.h',
'src/cpp/client/client_stats_interceptor.h', 'src/cpp/client/client_stats_interceptor.h',
'src/cpp/client/create_channel_internal.h', 'src/cpp/client/create_channel_internal.h',
'src/cpp/client/secure_credentials.h', 'src/cpp/client/secure_credentials.h',

559
gRPC-Core.podspec generated
View File

@ -21,7 +21,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'gRPC-Core' s.name = 'gRPC-Core'
version = '1.65.0-dev' version = '1.64.0-dev'
s.version = version s.version = version
s.summary = 'Core cross-platform gRPC library, written in C' s.summary = 'Core cross-platform gRPC library, written in C'
s.homepage = 'https://grpc.io' s.homepage = 'https://grpc.io'
@ -42,12 +42,11 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false
name = 'grpc' name = 'grpc'
abseil_version = '~> 1.20240116.2' abseil_version = '1.20240116.1'
# When creating a dynamic framework, name it grpc.framework instead of gRPC-Core.framework. # When creating a dynamic framework, name it grpc.framework instead of gRPC-Core.framework.
# This lets users write their includes like `#include <grpc/grpc.h>` as opposed to `#include # This lets users write their includes like `#include <grpc/grpc.h>` as opposed to `#include
@ -82,7 +81,7 @@ Pod::Spec.new do |s|
' "$(PODS_TARGET_SRCROOT)/third_party/utf8_range"'\ ' "$(PODS_TARGET_SRCROOT)/third_party/utf8_range"'\
' "$(PODS_TARGET_SRCROOT)/third_party/xxhash"', ' "$(PODS_TARGET_SRCROOT)/third_party/xxhash"',
# If we don't set these two settings, `include/grpc/support/time.h` and # If we don't set these two settings, `include/grpc/support/time.h` and
# `src/core/util/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the # `src/core/lib/gpr/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the
# build. # build.
'USE_HEADERMAP' => 'NO', 'USE_HEADERMAP' => 'NO',
'ALWAYS_SEARCH_USER_PATHS' => 'NO', 'ALWAYS_SEARCH_USER_PATHS' => 'NO',
@ -168,7 +167,6 @@ Pod::Spec.new do |s|
'include/grpc/impl/propagation_bits.h', 'include/grpc/impl/propagation_bits.h',
'include/grpc/impl/slice_type.h', 'include/grpc/impl/slice_type.h',
'include/grpc/load_reporting.h', 'include/grpc/load_reporting.h',
'include/grpc/passive_listener.h',
'include/grpc/slice.h', 'include/grpc/slice.h',
'include/grpc/slice_buffer.h', 'include/grpc/slice_buffer.h',
'include/grpc/status.h', 'include/grpc/status.h',
@ -199,7 +197,7 @@ Pod::Spec.new do |s|
ss.libraries = 'z' ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version ss.dependency "#{s.name}/Interface", version
ss.dependency "#{s.name}/Privacy", version ss.dependency "#{s.name}/Privacy", version
ss.dependency 'BoringSSL-GRPC', '0.0.35' ss.dependency 'BoringSSL-GRPC', '0.0.33'
ss.dependency 'abseil/algorithm/container', abseil_version ss.dependency 'abseil/algorithm/container', abseil_version
ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version ss.dependency 'abseil/base/config', abseil_version
@ -216,8 +214,6 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/functional/bind_front', abseil_version ss.dependency 'abseil/functional/bind_front', abseil_version
ss.dependency 'abseil/functional/function_ref', abseil_version ss.dependency 'abseil/functional/function_ref', abseil_version
ss.dependency 'abseil/hash/hash', abseil_version ss.dependency 'abseil/hash/hash', abseil_version
ss.dependency 'abseil/log/check', abseil_version
ss.dependency 'abseil/log/globals', abseil_version
ss.dependency 'abseil/log/log', abseil_version ss.dependency 'abseil/log/log', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/meta/type_traits', abseil_version ss.dependency 'abseil/meta/type_traits', abseil_version
@ -237,16 +233,10 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/utility/utility', abseil_version ss.dependency 'abseil/utility/utility', abseil_version
ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32' ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32'
ss.source_files = 'src/core/channelz/channel_trace.cc', ss.source_files = 'src/core/client_channel/backup_poller.cc',
'src/core/channelz/channel_trace.h',
'src/core/channelz/channelz.cc',
'src/core/channelz/channelz.h',
'src/core/channelz/channelz_registry.cc',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.cc',
'src/core/client_channel/backup_poller.h', 'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel.cc', 'src/core/client_channel/client_channel_channelz.cc',
'src/core/client_channel/client_channel.h', 'src/core/client_channel/client_channel_channelz.h',
'src/core/client_channel/client_channel_factory.cc', 'src/core/client_channel/client_channel_factory.cc',
'src/core/client_channel/client_channel_factory.h', 'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.cc', 'src/core/client_channel/client_channel_filter.cc',
@ -262,8 +252,8 @@ Pod::Spec.new do |s|
'src/core/client_channel/dynamic_filters.h', 'src/core/client_channel/dynamic_filters.h',
'src/core/client_channel/global_subchannel_pool.cc', 'src/core/client_channel/global_subchannel_pool.cc',
'src/core/client_channel/global_subchannel_pool.h', 'src/core/client_channel/global_subchannel_pool.h',
'src/core/client_channel/load_balanced_call_destination.cc', 'src/core/client_channel/http_proxy_mapper.cc',
'src/core/client_channel/load_balanced_call_destination.h', 'src/core/client_channel/http_proxy_mapper.h',
'src/core/client_channel/local_subchannel_pool.cc', 'src/core/client_channel/local_subchannel_pool.cc',
'src/core/client_channel/local_subchannel_pool.h', 'src/core/client_channel/local_subchannel_pool.h',
'src/core/client_channel/retry_filter.cc', 'src/core/client_channel/retry_filter.cc',
@ -289,6 +279,8 @@ Pod::Spec.new do |s|
'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.cc',
'src/core/ext/filters/deadline/deadline_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_filter.cc',
'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc',
@ -308,10 +300,15 @@ Pod::Spec.new do |s|
'src/core/ext/filters/rbac/rbac_filter.h', 'src/core/ext/filters/rbac/rbac_filter.h',
'src/core/ext/filters/rbac/rbac_service_config_parser.cc', 'src/core/ext/filters/rbac/rbac_service_config_parser.cc',
'src/core/ext/filters/rbac/rbac_service_config_parser.h', 'src/core/ext/filters/rbac/rbac_service_config_parser.h',
'src/core/ext/filters/server_config_selector/server_config_selector.h',
'src/core/ext/filters/server_config_selector/server_config_selector_filter.cc',
'src/core/ext/filters/server_config_selector/server_config_selector_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_filter.cc', 'src/core/ext/filters/stateful_session/stateful_session_filter.cc',
'src/core/ext/filters/stateful_session/stateful_session_filter.h', 'src/core/ext/filters/stateful_session/stateful_session_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc', 'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc',
'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h', 'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h',
'src/core/ext/gcp/metadata_query.cc',
'src/core/ext/gcp/metadata_query.h',
'src/core/ext/transport/chttp2/alpn/alpn.cc', 'src/core/ext/transport/chttp2/alpn/alpn.cc',
'src/core/ext/transport/chttp2/alpn/alpn.h', 'src/core/ext/transport/chttp2/alpn/alpn.h',
'src/core/ext/transport/chttp2/client/chttp2_connector.cc', 'src/core/ext/transport/chttp2/client/chttp2_connector.cc',
@ -356,6 +353,8 @@ Pod::Spec.new do |s|
'src/core/ext/transport/chttp2/transport/hpack_parser_table.h', 'src/core/ext/transport/chttp2/transport/hpack_parser_table.h',
'src/core/ext/transport/chttp2/transport/http2_settings.cc', 'src/core/ext/transport/chttp2/transport/http2_settings.cc',
'src/core/ext/transport/chttp2/transport/http2_settings.h', 'src/core/ext/transport/chttp2/transport/http2_settings.h',
'src/core/ext/transport/chttp2/transport/http_trace.cc',
'src/core/ext/transport/chttp2/transport/http_trace.h',
'src/core/ext/transport/chttp2/transport/huffsyms.cc', 'src/core/ext/transport/chttp2/transport/huffsyms.cc',
'src/core/ext/transport/chttp2/transport/huffsyms.h', 'src/core/ext/transport/chttp2/transport/huffsyms.h',
'src/core/ext/transport/chttp2/transport/internal.h', 'src/core/ext/transport/chttp2/transport/internal.h',
@ -375,6 +374,7 @@ Pod::Spec.new do |s|
'src/core/ext/transport/chttp2/transport/write_size_policy.cc', 'src/core/ext/transport/chttp2/transport/write_size_policy.cc',
'src/core/ext/transport/chttp2/transport/write_size_policy.h', 'src/core/ext/transport/chttp2/transport/write_size_policy.h',
'src/core/ext/transport/chttp2/transport/writing.cc', 'src/core/ext/transport/chttp2/transport/writing.cc',
'src/core/ext/transport/inproc/inproc_plugin.cc',
'src/core/ext/transport/inproc/inproc_transport.cc', 'src/core/ext/transport/inproc/inproc_transport.cc',
'src/core/ext/transport/inproc/inproc_transport.h', 'src/core/ext/transport/inproc/inproc_transport.h',
'src/core/ext/transport/inproc/legacy_inproc_transport.cc', 'src/core/ext/transport/inproc/legacy_inproc_transport.cc',
@ -1178,26 +1178,63 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c', 'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c',
'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h',
'src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc', 'src/core/ext/xds/certificate_provider_store.cc',
'src/core/handshaker/endpoint_info/endpoint_info_handshaker.h', 'src/core/ext/xds/certificate_provider_store.h',
'src/core/handshaker/handshaker.cc', 'src/core/ext/xds/file_watcher_certificate_provider_factory.cc',
'src/core/handshaker/handshaker.h', 'src/core/ext/xds/file_watcher_certificate_provider_factory.h',
'src/core/handshaker/handshaker_factory.h', 'src/core/ext/xds/upb_utils.h',
'src/core/handshaker/handshaker_registry.cc', 'src/core/ext/xds/xds_api.cc',
'src/core/handshaker/handshaker_registry.h', 'src/core/ext/xds/xds_api.h',
'src/core/handshaker/http_connect/http_connect_handshaker.cc', 'src/core/ext/xds/xds_audit_logger_registry.cc',
'src/core/handshaker/http_connect/http_connect_handshaker.h', 'src/core/ext/xds/xds_audit_logger_registry.h',
'src/core/handshaker/http_connect/http_proxy_mapper.cc', 'src/core/ext/xds/xds_bootstrap.cc',
'src/core/handshaker/http_connect/http_proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap.h',
'src/core/handshaker/proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap_grpc.cc',
'src/core/handshaker/proxy_mapper_registry.cc', 'src/core/ext/xds/xds_bootstrap_grpc.h',
'src/core/handshaker/proxy_mapper_registry.h', 'src/core/ext/xds/xds_certificate_provider.cc',
'src/core/handshaker/security/secure_endpoint.cc', 'src/core/ext/xds/xds_certificate_provider.h',
'src/core/handshaker/security/secure_endpoint.h', 'src/core/ext/xds/xds_channel_args.h',
'src/core/handshaker/security/security_handshaker.cc', 'src/core/ext/xds/xds_channel_stack_modifier.cc',
'src/core/handshaker/security/security_handshaker.h', 'src/core/ext/xds/xds_channel_stack_modifier.h',
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc', 'src/core/ext/xds/xds_client.cc',
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h', 'src/core/ext/xds/xds_client.h',
'src/core/ext/xds/xds_client_grpc.cc',
'src/core/ext/xds/xds_client_grpc.h',
'src/core/ext/xds/xds_client_stats.cc',
'src/core/ext/xds/xds_client_stats.h',
'src/core/ext/xds/xds_cluster.cc',
'src/core/ext/xds/xds_cluster.h',
'src/core/ext/xds/xds_cluster_specifier_plugin.cc',
'src/core/ext/xds/xds_cluster_specifier_plugin.h',
'src/core/ext/xds/xds_common_types.cc',
'src/core/ext/xds/xds_common_types.h',
'src/core/ext/xds/xds_endpoint.cc',
'src/core/ext/xds/xds_endpoint.h',
'src/core/ext/xds/xds_health_status.cc',
'src/core/ext/xds/xds_health_status.h',
'src/core/ext/xds/xds_http_fault_filter.cc',
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.cc',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.cc',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.cc',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.cc',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.cc',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.cc',
'src/core/ext/xds/xds_route_config.h',
'src/core/ext/xds/xds_routing.cc',
'src/core/ext/xds/xds_routing.h',
'src/core/ext/xds/xds_server_config_fetcher.cc',
'src/core/ext/xds/xds_transport.h',
'src/core/ext/xds/xds_transport_grpc.cc',
'src/core/ext/xds/xds_transport_grpc.h',
'src/core/lib/address_utils/parse_address.cc', 'src/core/lib/address_utils/parse_address.cc',
'src/core/lib/address_utils/parse_address.h', 'src/core/lib/address_utils/parse_address.h',
'src/core/lib/address_utils/sockaddr_utils.cc', 'src/core/lib/address_utils/sockaddr_utils.cc',
@ -1208,6 +1245,8 @@ Pod::Spec.new do |s|
'src/core/lib/backoff/random_early_detection.cc', 'src/core/lib/backoff/random_early_detection.cc',
'src/core/lib/backoff/random_early_detection.h', 'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h', 'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.cc',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.cc', 'src/core/lib/channel/channel_args.cc',
'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.cc', 'src/core/lib/channel/channel_args_preconditioning.cc',
@ -1219,12 +1258,26 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_builder.h', 'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.cc', 'src/core/lib/channel/channel_stack_builder_impl.cc',
'src/core/lib/channel/channel_stack_builder_impl.h', 'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.cc',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.cc',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.cc',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.cc',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.cc', 'src/core/lib/channel/connected_channel.cc',
'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.cc',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.cc', 'src/core/lib/channel/promise_based_filter.cc',
'src/core/lib/channel/promise_based_filter.h', 'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.cc',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.cc', 'src/core/lib/channel/status_util.cc',
'src/core/lib/channel/status_util.h', 'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression.cc', 'src/core/lib/compression/compression.cc',
'src/core/lib/compression/compression_internal.cc', 'src/core/lib/compression/compression_internal.cc',
'src/core/lib/compression/compression_internal.h', 'src/core/lib/compression/compression_internal.h',
@ -1239,11 +1292,14 @@ Pod::Spec.new do |s|
'src/core/lib/config/load_config.h', 'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.cc', 'src/core/lib/debug/event_log.cc',
'src/core/lib/debug/event_log.h', 'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.cc',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.cc', 'src/core/lib/debug/trace.cc',
'src/core/lib/debug/trace.h', 'src/core/lib/debug/trace.h',
'src/core/lib/debug/trace_flags.cc',
'src/core/lib/debug/trace_flags.h',
'src/core/lib/debug/trace_impl.h',
'src/core/lib/event_engine/ares_resolver.cc', 'src/core/lib/event_engine/ares_resolver.cc',
'src/core/lib/event_engine/ares_resolver.h', 'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.cc', 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
@ -1265,7 +1321,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
'src/core/lib/event_engine/extensions/tcp_trace.h',
'src/core/lib/event_engine/forkable.cc', 'src/core/lib/event_engine/forkable.cc',
'src/core/lib/event_engine/forkable.h', 'src/core/lib/event_engine/forkable.h',
'src/core/lib/event_engine/grpc_polled_fd.h', 'src/core/lib/event_engine/grpc_polled_fd.h',
@ -1336,6 +1391,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/thready_event_engine/thready_event_engine.h', 'src/core/lib/event_engine/thready_event_engine/thready_event_engine.h',
'src/core/lib/event_engine/time_util.cc', 'src/core/lib/event_engine/time_util.cc',
'src/core/lib/event_engine/time_util.h', 'src/core/lib/event_engine/time_util.h',
'src/core/lib/event_engine/trace.cc',
'src/core/lib/event_engine/trace.h', 'src/core/lib/event_engine/trace.h',
'src/core/lib/event_engine/utils.cc', 'src/core/lib/event_engine/utils.cc',
'src/core/lib/event_engine/utils.h', 'src/core/lib/event_engine/utils.h',
@ -1360,6 +1416,39 @@ Pod::Spec.new do |s|
'src/core/lib/experiments/config.h', 'src/core/lib/experiments/config.h',
'src/core/lib/experiments/experiments.cc', 'src/core/lib/experiments/experiments.cc',
'src/core/lib/experiments/experiments.h', 'src/core/lib/experiments/experiments.h',
'src/core/lib/gpr/alloc.cc',
'src/core/lib/gpr/alloc.h',
'src/core/lib/gpr/android/log.cc',
'src/core/lib/gpr/atm.cc',
'src/core/lib/gpr/iphone/cpu.cc',
'src/core/lib/gpr/linux/cpu.cc',
'src/core/lib/gpr/linux/log.cc',
'src/core/lib/gpr/log.cc',
'src/core/lib/gpr/log_internal.h',
'src/core/lib/gpr/msys/tmpfile.cc',
'src/core/lib/gpr/posix/cpu.cc',
'src/core/lib/gpr/posix/log.cc',
'src/core/lib/gpr/posix/string.cc',
'src/core/lib/gpr/posix/sync.cc',
'src/core/lib/gpr/posix/time.cc',
'src/core/lib/gpr/posix/tmpfile.cc',
'src/core/lib/gpr/spinlock.h',
'src/core/lib/gpr/string.cc',
'src/core/lib/gpr/string.h',
'src/core/lib/gpr/sync.cc',
'src/core/lib/gpr/sync_abseil.cc',
'src/core/lib/gpr/time.cc',
'src/core/lib/gpr/time_precise.cc',
'src/core/lib/gpr/time_precise.h',
'src/core/lib/gpr/tmpfile.h',
'src/core/lib/gpr/useful.h',
'src/core/lib/gpr/windows/cpu.cc',
'src/core/lib/gpr/windows/log.cc',
'src/core/lib/gpr/windows/string.cc',
'src/core/lib/gpr/windows/string_util.cc',
'src/core/lib/gpr/windows/sync.cc',
'src/core/lib/gpr/windows/time.cc',
'src/core/lib/gpr/windows/tmpfile.cc',
'src/core/lib/gprpp/atomic_utils.h', 'src/core/lib/gprpp/atomic_utils.h',
'src/core/lib/gprpp/bitset.h', 'src/core/lib/gprpp/bitset.h',
'src/core/lib/gprpp/chunked_vector.h', 'src/core/lib/gprpp/chunked_vector.h',
@ -1371,15 +1460,11 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/directory_reader.h', 'src/core/lib/gprpp/directory_reader.h',
'src/core/lib/gprpp/down_cast.h', 'src/core/lib/gprpp/down_cast.h',
'src/core/lib/gprpp/dual_ref_counted.h', 'src/core/lib/gprpp/dual_ref_counted.h',
'src/core/lib/gprpp/dump_args.cc',
'src/core/lib/gprpp/dump_args.h',
'src/core/lib/gprpp/env.h', 'src/core/lib/gprpp/env.h',
'src/core/lib/gprpp/examine_stack.cc', 'src/core/lib/gprpp/examine_stack.cc',
'src/core/lib/gprpp/examine_stack.h', 'src/core/lib/gprpp/examine_stack.h',
'src/core/lib/gprpp/fork.cc', 'src/core/lib/gprpp/fork.cc',
'src/core/lib/gprpp/fork.h', 'src/core/lib/gprpp/fork.h',
'src/core/lib/gprpp/glob.cc',
'src/core/lib/gprpp/glob.h',
'src/core/lib/gprpp/host_port.cc', 'src/core/lib/gprpp/host_port.cc',
'src/core/lib/gprpp/host_port.h', 'src/core/lib/gprpp/host_port.h',
'src/core/lib/gprpp/if_list.h', 'src/core/lib/gprpp/if_list.h',
@ -1437,6 +1522,17 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/work_serializer.cc', 'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/gprpp/work_serializer.h', 'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/gprpp/xxhash_inline.h', 'src/core/lib/gprpp/xxhash_inline.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.cc',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.cc',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_security_connector.cc',
'src/core/lib/http/httpcli_ssl_credentials.h',
'src/core/lib/http/parser.cc',
'src/core/lib/http/parser.h',
'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/block_annotate.h',
'src/core/lib/iomgr/buffer_list.cc', 'src/core/lib/iomgr/buffer_list.cc',
'src/core/lib/iomgr/buffer_list.h', 'src/core/lib/iomgr/buffer_list.h',
@ -1469,6 +1565,7 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/ev_poll_posix.h', 'src/core/lib/iomgr/ev_poll_posix.h',
'src/core/lib/iomgr/ev_posix.cc', 'src/core/lib/iomgr/ev_posix.cc',
'src/core/lib/iomgr/ev_posix.h', 'src/core/lib/iomgr/ev_posix.h',
'src/core/lib/iomgr/ev_windows.cc',
'src/core/lib/iomgr/event_engine_shims/closure.cc', 'src/core/lib/iomgr/event_engine_shims/closure.cc',
'src/core/lib/iomgr/event_engine_shims/closure.h', 'src/core/lib/iomgr/event_engine_shims/closure.h',
'src/core/lib/iomgr/event_engine_shims/endpoint.cc', 'src/core/lib/iomgr/event_engine_shims/endpoint.cc',
@ -1578,6 +1675,17 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/wakeup_fd_pipe.h', 'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.cc', 'src/core/lib/iomgr/wakeup_fd_posix.cc',
'src/core/lib/iomgr/wakeup_fd_posix.h', 'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.cc',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.cc',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.cc',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.cc', 'src/core/lib/matchers/matchers.cc',
'src/core/lib/matchers/matchers.h', 'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.cc', 'src/core/lib/promise/activity.cc',
@ -1599,7 +1707,6 @@ Pod::Spec.new do |s|
'src/core/lib/promise/latch.h', 'src/core/lib/promise/latch.h',
'src/core/lib/promise/loop.h', 'src/core/lib/promise/loop.h',
'src/core/lib/promise/map.h', 'src/core/lib/promise/map.h',
'src/core/lib/promise/observable.h',
'src/core/lib/promise/party.cc', 'src/core/lib/promise/party.cc',
'src/core/lib/promise/party.h', 'src/core/lib/promise/party.h',
'src/core/lib/promise/pipe.h', 'src/core/lib/promise/pipe.h',
@ -1611,6 +1718,8 @@ Pod::Spec.new do |s|
'src/core/lib/promise/sleep.cc', 'src/core/lib/promise/sleep.cc',
'src/core/lib/promise/sleep.h', 'src/core/lib/promise/sleep.h',
'src/core/lib/promise/status_flag.h', 'src/core/lib/promise/status_flag.h',
'src/core/lib/promise/trace.cc',
'src/core/lib/promise/trace.h',
'src/core/lib/promise/try_join.h', 'src/core/lib/promise/try_join.h',
'src/core/lib/promise/try_seq.h', 'src/core/lib/promise/try_seq.h',
'src/core/lib/resource_quota/api.cc', 'src/core/lib/resource_quota/api.cc',
@ -1627,6 +1736,8 @@ Pod::Spec.new do |s|
'src/core/lib/resource_quota/resource_quota.h', 'src/core/lib/resource_quota/resource_quota.h',
'src/core/lib/resource_quota/thread_quota.cc', 'src/core/lib/resource_quota/thread_quota.cc',
'src/core/lib/resource_quota/thread_quota.h', 'src/core/lib/resource_quota/thread_quota.h',
'src/core/lib/resource_quota/trace.cc',
'src/core/lib/resource_quota/trace.h',
'src/core/lib/security/authorization/audit_logging.cc', 'src/core/lib/security/authorization/audit_logging.cc',
'src/core/lib/security/authorization/audit_logging.h', 'src/core/lib/security/authorization/audit_logging.h',
'src/core/lib/security/authorization/authorization_engine.h', 'src/core/lib/security/authorization/authorization_engine.h',
@ -1741,7 +1852,13 @@ Pod::Spec.new do |s|
'src/core/lib/security/security_connector/tls/tls_security_connector.h', 'src/core/lib/security/security_connector/tls/tls_security_connector.h',
'src/core/lib/security/transport/auth_filters.h', 'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/client_auth_filter.cc', 'src/core/lib/security/transport/client_auth_filter.cc',
'src/core/lib/security/transport/secure_endpoint.cc',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.cc',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/server_auth_filter.cc', 'src/core/lib/security/transport/server_auth_filter.cc',
'src/core/lib/security/transport/tsi_error.cc',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.cc', 'src/core/lib/security/util/json_util.cc',
'src/core/lib/security/util/json_util.h', 'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/percent_encoding.cc', 'src/core/lib/slice/percent_encoding.cc',
@ -1751,9 +1868,11 @@ Pod::Spec.new do |s|
'src/core/lib/slice/slice_buffer.cc', 'src/core/lib/slice/slice_buffer.cc',
'src/core/lib/slice/slice_buffer.h', 'src/core/lib/slice/slice_buffer.h',
'src/core/lib/slice/slice_internal.h', 'src/core/lib/slice/slice_internal.h',
'src/core/lib/slice/slice_refcount.cc',
'src/core/lib/slice/slice_refcount.h', 'src/core/lib/slice/slice_refcount.h',
'src/core/lib/slice/slice_string_helpers.cc', 'src/core/lib/slice/slice_string_helpers.cc',
'src/core/lib/slice/slice_string_helpers.h', 'src/core/lib/slice/slice_string_helpers.h',
'src/core/lib/surface/api_trace.cc',
'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/byte_buffer.cc', 'src/core/lib/surface/byte_buffer.cc',
'src/core/lib/surface/byte_buffer_reader.cc', 'src/core/lib/surface/byte_buffer_reader.cc',
@ -1762,8 +1881,7 @@ Pod::Spec.new do |s|
'src/core/lib/surface/call_details.cc', 'src/core/lib/surface/call_details.cc',
'src/core/lib/surface/call_log_batch.cc', 'src/core/lib/surface/call_log_batch.cc',
'src/core/lib/surface/call_test_only.h', 'src/core/lib/surface/call_test_only.h',
'src/core/lib/surface/call_utils.cc', 'src/core/lib/surface/call_trace.h',
'src/core/lib/surface/call_utils.h',
'src/core/lib/surface/channel.cc', 'src/core/lib/surface/channel.cc',
'src/core/lib/surface/channel.h', 'src/core/lib/surface/channel.h',
'src/core/lib/surface/channel_create.cc', 'src/core/lib/surface/channel_create.cc',
@ -1772,16 +1890,12 @@ Pod::Spec.new do |s|
'src/core/lib/surface/channel_init.h', 'src/core/lib/surface/channel_init.h',
'src/core/lib/surface/channel_stack_type.cc', 'src/core/lib/surface/channel_stack_type.cc',
'src/core/lib/surface/channel_stack_type.h', 'src/core/lib/surface/channel_stack_type.h',
'src/core/lib/surface/client_call.cc',
'src/core/lib/surface/client_call.h',
'src/core/lib/surface/completion_queue.cc', 'src/core/lib/surface/completion_queue.cc',
'src/core/lib/surface/completion_queue.h', 'src/core/lib/surface/completion_queue.h',
'src/core/lib/surface/completion_queue_factory.cc', 'src/core/lib/surface/completion_queue_factory.cc',
'src/core/lib/surface/completion_queue_factory.h', 'src/core/lib/surface/completion_queue_factory.h',
'src/core/lib/surface/event_string.cc', 'src/core/lib/surface/event_string.cc',
'src/core/lib/surface/event_string.h', 'src/core/lib/surface/event_string.h',
'src/core/lib/surface/filter_stack_call.cc',
'src/core/lib/surface/filter_stack_call.h',
'src/core/lib/surface/init.cc', 'src/core/lib/surface/init.cc',
'src/core/lib/surface/init.h', 'src/core/lib/surface/init.h',
'src/core/lib/surface/init_internally.cc', 'src/core/lib/surface/init_internally.cc',
@ -1791,30 +1905,41 @@ Pod::Spec.new do |s|
'src/core/lib/surface/legacy_channel.cc', 'src/core/lib/surface/legacy_channel.cc',
'src/core/lib/surface/legacy_channel.h', 'src/core/lib/surface/legacy_channel.h',
'src/core/lib/surface/metadata_array.cc', 'src/core/lib/surface/metadata_array.cc',
'src/core/lib/surface/server_call.cc', 'src/core/lib/surface/server.cc',
'src/core/lib/surface/server_call.h', 'src/core/lib/surface/server.h',
'src/core/lib/surface/server_interface.h',
'src/core/lib/surface/validate_metadata.cc', 'src/core/lib/surface/validate_metadata.cc',
'src/core/lib/surface/validate_metadata.h', 'src/core/lib/surface/validate_metadata.h',
'src/core/lib/surface/version.cc', 'src/core/lib/surface/version.cc',
'src/core/lib/surface/wait_for_cq_end_op.cc',
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.cc',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.cc', 'src/core/lib/transport/bdp_estimator.cc',
'src/core/lib/transport/bdp_estimator.h', 'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_arena_allocator.cc',
'src/core/lib/transport/call_arena_allocator.h',
'src/core/lib/transport/call_destination.h',
'src/core/lib/transport/call_filters.cc', 'src/core/lib/transport/call_filters.cc',
'src/core/lib/transport/call_filters.h', 'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.cc', 'src/core/lib/transport/call_final_info.cc',
'src/core/lib/transport/call_final_info.h', 'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.cc',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.cc', 'src/core/lib/transport/call_spine.cc',
'src/core/lib/transport/call_spine.h', 'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.cc', 'src/core/lib/transport/connectivity_state.cc',
'src/core/lib/transport/connectivity_state.h', 'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h', 'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.cc',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.cc', 'src/core/lib/transport/error_utils.cc',
'src/core/lib/transport/error_utils.h', 'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.cc',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
'src/core/lib/transport/handshaker_registry.cc',
'src/core/lib/transport/handshaker_registry.h',
'src/core/lib/transport/http2_errors.h', 'src/core/lib/transport/http2_errors.h',
'src/core/lib/transport/interception_chain.cc', 'src/core/lib/transport/http_connect_handshaker.cc',
'src/core/lib/transport/interception_chain.h', 'src/core/lib/transport/http_connect_handshaker.h',
'src/core/lib/transport/message.cc', 'src/core/lib/transport/message.cc',
'src/core/lib/transport/message.h', 'src/core/lib/transport/message.h',
'src/core/lib/transport/metadata.cc', 'src/core/lib/transport/metadata.cc',
@ -1829,6 +1954,8 @@ Pod::Spec.new do |s|
'src/core/lib/transport/simple_slice_based_metadata.h', 'src/core/lib/transport/simple_slice_based_metadata.h',
'src/core/lib/transport/status_conversion.cc', 'src/core/lib/transport/status_conversion.cc',
'src/core/lib/transport/status_conversion.h', 'src/core/lib/transport/status_conversion.h',
'src/core/lib/transport/tcp_connect_handshaker.cc',
'src/core/lib/transport/tcp_connect_handshaker.h',
'src/core/lib/transport/timeout_encoding.cc', 'src/core/lib/transport/timeout_encoding.cc',
'src/core/lib/transport/timeout_encoding.h', 'src/core/lib/transport/timeout_encoding.h',
'src/core/lib/transport/transport.cc', 'src/core/lib/transport/transport.cc',
@ -1929,17 +2056,8 @@ Pod::Spec.new do |s|
'src/core/resolver/xds/xds_dependency_manager.h', 'src/core/resolver/xds/xds_dependency_manager.h',
'src/core/resolver/xds/xds_resolver.cc', 'src/core/resolver/xds/xds_resolver.cc',
'src/core/resolver/xds/xds_resolver_attributes.h', 'src/core/resolver/xds/xds_resolver_attributes.h',
'src/core/server/server.cc', 'src/core/resolver/xds/xds_resolver_trace.cc',
'src/core/server/server.h', 'src/core/resolver/xds/xds_resolver_trace.h',
'src/core/server/server_call_tracer_filter.cc',
'src/core/server/server_call_tracer_filter.h',
'src/core/server/server_config_selector.h',
'src/core/server/server_config_selector_filter.cc',
'src/core/server/server_config_selector_filter.h',
'src/core/server/server_interface.h',
'src/core/server/xds_channel_stack_modifier.cc',
'src/core/server/xds_channel_stack_modifier.h',
'src/core/server/xds_server_config_fetcher.cc',
'src/core/service_config/service_config.h', 'src/core/service_config/service_config.h',
'src/core/service_config/service_config_call_data.h', 'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_channel_arg_filter.cc', 'src/core/service_config/service_config_channel_arg_filter.cc',
@ -1947,17 +2065,6 @@ Pod::Spec.new do |s|
'src/core/service_config/service_config_impl.h', 'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.cc', 'src/core/service_config/service_config_parser.cc',
'src/core/service_config/service_config_parser.h', 'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.cc',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.cc',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.cc',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.cc',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.cc',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/aes_gcm.cc', 'src/core/tsi/alts/crypt/aes_gcm.cc',
'src/core/tsi/alts/crypt/gsec.cc', 'src/core/tsi/alts/crypt/gsec.cc',
'src/core/tsi/alts/crypt/gsec.h', 'src/core/tsi/alts/crypt/gsec.h',
@ -2016,113 +2123,6 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security_grpc.cc', 'src/core/tsi/transport_security_grpc.cc',
'src/core/tsi/transport_security_grpc.h', 'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h', 'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.cc',
'src/core/util/alloc.h',
'src/core/util/android/log.cc',
'src/core/util/atm.cc',
'src/core/util/gcp_metadata_query.cc',
'src/core/util/gcp_metadata_query.h',
'src/core/util/http_client/format_request.cc',
'src/core/util/http_client/format_request.h',
'src/core/util/http_client/httpcli.cc',
'src/core/util/http_client/httpcli.h',
'src/core/util/http_client/httpcli_security_connector.cc',
'src/core/util/http_client/httpcli_ssl_credentials.h',
'src/core/util/http_client/parser.cc',
'src/core/util/http_client/parser.h',
'src/core/util/iphone/cpu.cc',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.cc',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.cc',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.cc',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.cc',
'src/core/util/json/json_writer.h',
'src/core/util/linux/cpu.cc',
'src/core/util/linux/log.cc',
'src/core/util/log.cc',
'src/core/util/msys/tmpfile.cc',
'src/core/util/posix/cpu.cc',
'src/core/util/posix/log.cc',
'src/core/util/posix/string.cc',
'src/core/util/posix/sync.cc',
'src/core/util/posix/time.cc',
'src/core/util/posix/tmpfile.cc',
'src/core/util/spinlock.h',
'src/core/util/string.cc',
'src/core/util/string.h',
'src/core/util/sync.cc',
'src/core/util/sync_abseil.cc',
'src/core/util/time.cc',
'src/core/util/time_precise.cc',
'src/core/util/time_precise.h',
'src/core/util/tmpfile.h',
'src/core/util/useful.h',
'src/core/util/windows/cpu.cc',
'src/core/util/windows/log.cc',
'src/core/util/windows/string.cc',
'src/core/util/windows/string_util.cc',
'src/core/util/windows/sync.cc',
'src/core/util/windows/time.cc',
'src/core/util/windows/tmpfile.cc',
'src/core/xds/grpc/certificate_provider_store.cc',
'src/core/xds/grpc/certificate_provider_store.h',
'src/core/xds/grpc/file_watcher_certificate_provider_factory.cc',
'src/core/xds/grpc/file_watcher_certificate_provider_factory.h',
'src/core/xds/grpc/upb_utils.h',
'src/core/xds/grpc/xds_audit_logger_registry.cc',
'src/core/xds/grpc/xds_audit_logger_registry.h',
'src/core/xds/grpc/xds_bootstrap_grpc.cc',
'src/core/xds/grpc/xds_bootstrap_grpc.h',
'src/core/xds/grpc/xds_certificate_provider.cc',
'src/core/xds/grpc/xds_certificate_provider.h',
'src/core/xds/grpc/xds_client_grpc.cc',
'src/core/xds/grpc/xds_client_grpc.h',
'src/core/xds/grpc/xds_cluster.cc',
'src/core/xds/grpc/xds_cluster.h',
'src/core/xds/grpc/xds_cluster_specifier_plugin.cc',
'src/core/xds/grpc/xds_cluster_specifier_plugin.h',
'src/core/xds/grpc/xds_common_types.cc',
'src/core/xds/grpc/xds_common_types.h',
'src/core/xds/grpc/xds_endpoint.cc',
'src/core/xds/grpc/xds_endpoint.h',
'src/core/xds/grpc/xds_health_status.cc',
'src/core/xds/grpc/xds_health_status.h',
'src/core/xds/grpc/xds_http_fault_filter.cc',
'src/core/xds/grpc/xds_http_fault_filter.h',
'src/core/xds/grpc/xds_http_filters.cc',
'src/core/xds/grpc/xds_http_filters.h',
'src/core/xds/grpc/xds_http_rbac_filter.cc',
'src/core/xds/grpc/xds_http_rbac_filter.h',
'src/core/xds/grpc/xds_http_stateful_session_filter.cc',
'src/core/xds/grpc/xds_http_stateful_session_filter.h',
'src/core/xds/grpc/xds_lb_policy_registry.cc',
'src/core/xds/grpc/xds_lb_policy_registry.h',
'src/core/xds/grpc/xds_listener.cc',
'src/core/xds/grpc/xds_listener.h',
'src/core/xds/grpc/xds_route_config.cc',
'src/core/xds/grpc/xds_route_config.h',
'src/core/xds/grpc/xds_routing.cc',
'src/core/xds/grpc/xds_routing.h',
'src/core/xds/grpc/xds_transport_grpc.cc',
'src/core/xds/grpc/xds_transport_grpc.h',
'src/core/xds/xds_client/xds_api.cc',
'src/core/xds/xds_client/xds_api.h',
'src/core/xds/xds_client/xds_bootstrap.cc',
'src/core/xds/xds_client/xds_bootstrap.h',
'src/core/xds/xds_client/xds_channel_args.h',
'src/core/xds/xds_client/xds_client.cc',
'src/core/xds/xds_client/xds_client.h',
'src/core/xds/xds_client/xds_client_stats.cc',
'src/core/xds/xds_client/xds_client_stats.h',
'src/core/xds/xds_client/xds_metrics.h',
'src/core/xds/xds_client/xds_resource_type.h',
'src/core/xds/xds_client/xds_resource_type_impl.h',
'src/core/xds/xds_client/xds_transport.h',
'third_party/re2/re2/bitmap256.h', 'third_party/re2/re2/bitmap256.h',
'third_party/re2/re2/bitstate.cc', 'third_party/re2/re2/bitstate.cc',
'third_party/re2/re2/compile.cc', 'third_party/re2/re2/compile.cc',
@ -2351,11 +2351,8 @@ Pod::Spec.new do |s|
'third_party/zlib/zlib.h', 'third_party/zlib/zlib.h',
'third_party/zlib/zutil.c', 'third_party/zlib/zutil.c',
'third_party/zlib/zutil.h' 'third_party/zlib/zutil.h'
ss.private_header_files = 'src/core/channelz/channel_trace.h', ss.private_header_files = 'src/core/client_channel/backup_poller.h',
'src/core/channelz/channelz.h', 'src/core/client_channel/client_channel_channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel.h',
'src/core/client_channel/client_channel_factory.h', 'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h', 'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h', 'src/core/client_channel/client_channel_internal.h',
@ -2364,7 +2361,7 @@ Pod::Spec.new do |s|
'src/core/client_channel/connector.h', 'src/core/client_channel/connector.h',
'src/core/client_channel/dynamic_filters.h', 'src/core/client_channel/dynamic_filters.h',
'src/core/client_channel/global_subchannel_pool.h', 'src/core/client_channel/global_subchannel_pool.h',
'src/core/client_channel/load_balanced_call_destination.h', 'src/core/client_channel/http_proxy_mapper.h',
'src/core/client_channel/local_subchannel_pool.h', 'src/core/client_channel/local_subchannel_pool.h',
'src/core/client_channel/retry_filter.h', 'src/core/client_channel/retry_filter.h',
'src/core/client_channel/retry_filter_legacy_call_data.h', 'src/core/client_channel/retry_filter_legacy_call_data.h',
@ -2378,6 +2375,7 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h', 'src/core/ext/filters/http/client/http_client_filter.h',
@ -2387,8 +2385,11 @@ Pod::Spec.new do |s|
'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h', 'src/core/ext/filters/rbac/rbac_filter.h',
'src/core/ext/filters/rbac/rbac_service_config_parser.h', 'src/core/ext/filters/rbac/rbac_service_config_parser.h',
'src/core/ext/filters/server_config_selector/server_config_selector.h',
'src/core/ext/filters/server_config_selector/server_config_selector_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_filter.h', 'src/core/ext/filters/stateful_session/stateful_session_filter.h',
'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h', 'src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h',
'src/core/ext/gcp/metadata_query.h',
'src/core/ext/transport/chttp2/alpn/alpn.h', 'src/core/ext/transport/chttp2/alpn/alpn.h',
'src/core/ext/transport/chttp2/client/chttp2_connector.h', 'src/core/ext/transport/chttp2/client/chttp2_connector.h',
'src/core/ext/transport/chttp2/server/chttp2_server.h', 'src/core/ext/transport/chttp2/server/chttp2_server.h',
@ -2412,6 +2413,7 @@ Pod::Spec.new do |s|
'src/core/ext/transport/chttp2/transport/hpack_parser.h', 'src/core/ext/transport/chttp2/transport/hpack_parser.h',
'src/core/ext/transport/chttp2/transport/hpack_parser_table.h', 'src/core/ext/transport/chttp2/transport/hpack_parser_table.h',
'src/core/ext/transport/chttp2/transport/http2_settings.h', 'src/core/ext/transport/chttp2/transport/http2_settings.h',
'src/core/ext/transport/chttp2/transport/http_trace.h',
'src/core/ext/transport/chttp2/transport/huffsyms.h', 'src/core/ext/transport/chttp2/transport/huffsyms.h',
'src/core/ext/transport/chttp2/transport/internal.h', 'src/core/ext/transport/chttp2/transport/internal.h',
'src/core/ext/transport/chttp2/transport/legacy_frame.h', 'src/core/ext/transport/chttp2/transport/legacy_frame.h',
@ -2905,41 +2907,71 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h',
'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h', 'src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h',
'src/core/handshaker/endpoint_info/endpoint_info_handshaker.h', 'src/core/ext/xds/certificate_provider_store.h',
'src/core/handshaker/handshaker.h', 'src/core/ext/xds/file_watcher_certificate_provider_factory.h',
'src/core/handshaker/handshaker_factory.h', 'src/core/ext/xds/upb_utils.h',
'src/core/handshaker/handshaker_registry.h', 'src/core/ext/xds/xds_api.h',
'src/core/handshaker/http_connect/http_connect_handshaker.h', 'src/core/ext/xds/xds_audit_logger_registry.h',
'src/core/handshaker/http_connect/http_proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap.h',
'src/core/handshaker/proxy_mapper.h', 'src/core/ext/xds/xds_bootstrap_grpc.h',
'src/core/handshaker/proxy_mapper_registry.h', 'src/core/ext/xds/xds_certificate_provider.h',
'src/core/handshaker/security/secure_endpoint.h', 'src/core/ext/xds/xds_channel_args.h',
'src/core/handshaker/security/security_handshaker.h', 'src/core/ext/xds/xds_channel_stack_modifier.h',
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h', 'src/core/ext/xds/xds_client.h',
'src/core/ext/xds/xds_client_grpc.h',
'src/core/ext/xds/xds_client_stats.h',
'src/core/ext/xds/xds_cluster.h',
'src/core/ext/xds/xds_cluster_specifier_plugin.h',
'src/core/ext/xds/xds_common_types.h',
'src/core/ext/xds/xds_endpoint.h',
'src/core/ext/xds/xds_health_status.h',
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
'src/core/ext/xds/xds_routing.h',
'src/core/ext/xds/xds_transport.h',
'src/core/ext/xds/xds_transport_grpc.h',
'src/core/lib/address_utils/parse_address.h', 'src/core/lib/address_utils/parse_address.h',
'src/core/lib/address_utils/sockaddr_utils.h', 'src/core/lib/address_utils/sockaddr_utils.h',
'src/core/lib/avl/avl.h', 'src/core/lib/avl/avl.h',
'src/core/lib/backoff/backoff.h', 'src/core/lib/backoff/backoff.h',
'src/core/lib/backoff/random_early_detection.h', 'src/core/lib/backoff/random_early_detection.h',
'src/core/lib/channel/call_finalization.h', 'src/core/lib/channel/call_finalization.h',
'src/core/lib/channel/call_tracer.h',
'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_args.h',
'src/core/lib/channel/channel_args_preconditioning.h', 'src/core/lib/channel/channel_args_preconditioning.h',
'src/core/lib/channel/channel_fwd.h', 'src/core/lib/channel/channel_fwd.h',
'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack.h',
'src/core/lib/channel/channel_stack_builder.h', 'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h', 'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h', 'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h', 'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h', 'src/core/lib/compression/compression_internal.h',
'src/core/lib/compression/message_compress.h', 'src/core/lib/compression/message_compress.h',
'src/core/lib/config/config_vars.h', 'src/core/lib/config/config_vars.h',
'src/core/lib/config/core_configuration.h', 'src/core/lib/config/core_configuration.h',
'src/core/lib/config/load_config.h', 'src/core/lib/config/load_config.h',
'src/core/lib/debug/event_log.h', 'src/core/lib/debug/event_log.h',
'src/core/lib/debug/histogram_view.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h', 'src/core/lib/debug/trace.h',
'src/core/lib/debug/trace_flags.h',
'src/core/lib/debug/trace_impl.h',
'src/core/lib/event_engine/ares_resolver.h', 'src/core/lib/event_engine/ares_resolver.h',
'src/core/lib/event_engine/cf_engine/cf_engine.h', 'src/core/lib/event_engine/cf_engine/cf_engine.h',
'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h', 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
@ -2953,7 +2985,6 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
'src/core/lib/event_engine/extensions/tcp_trace.h',
'src/core/lib/event_engine/forkable.h', 'src/core/lib/event_engine/forkable.h',
'src/core/lib/event_engine/grpc_polled_fd.h', 'src/core/lib/event_engine/grpc_polled_fd.h',
'src/core/lib/event_engine/handle_containers.h', 'src/core/lib/event_engine/handle_containers.h',
@ -3007,6 +3038,13 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/work_queue/work_queue.h', 'src/core/lib/event_engine/work_queue/work_queue.h',
'src/core/lib/experiments/config.h', 'src/core/lib/experiments/config.h',
'src/core/lib/experiments/experiments.h', 'src/core/lib/experiments/experiments.h',
'src/core/lib/gpr/alloc.h',
'src/core/lib/gpr/log_internal.h',
'src/core/lib/gpr/spinlock.h',
'src/core/lib/gpr/string.h',
'src/core/lib/gpr/time_precise.h',
'src/core/lib/gpr/tmpfile.h',
'src/core/lib/gpr/useful.h',
'src/core/lib/gprpp/atomic_utils.h', 'src/core/lib/gprpp/atomic_utils.h',
'src/core/lib/gprpp/bitset.h', 'src/core/lib/gprpp/bitset.h',
'src/core/lib/gprpp/chunked_vector.h', 'src/core/lib/gprpp/chunked_vector.h',
@ -3017,11 +3055,9 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/directory_reader.h', 'src/core/lib/gprpp/directory_reader.h',
'src/core/lib/gprpp/down_cast.h', 'src/core/lib/gprpp/down_cast.h',
'src/core/lib/gprpp/dual_ref_counted.h', 'src/core/lib/gprpp/dual_ref_counted.h',
'src/core/lib/gprpp/dump_args.h',
'src/core/lib/gprpp/env.h', 'src/core/lib/gprpp/env.h',
'src/core/lib/gprpp/examine_stack.h', 'src/core/lib/gprpp/examine_stack.h',
'src/core/lib/gprpp/fork.h', 'src/core/lib/gprpp/fork.h',
'src/core/lib/gprpp/glob.h',
'src/core/lib/gprpp/host_port.h', 'src/core/lib/gprpp/host_port.h',
'src/core/lib/gprpp/if_list.h', 'src/core/lib/gprpp/if_list.h',
'src/core/lib/gprpp/load_file.h', 'src/core/lib/gprpp/load_file.h',
@ -3056,6 +3092,12 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/validation_errors.h', 'src/core/lib/gprpp/validation_errors.h',
'src/core/lib/gprpp/work_serializer.h', 'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/gprpp/xxhash_inline.h', 'src/core/lib/gprpp/xxhash_inline.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',
'src/core/lib/http/parser.h',
'src/core/lib/iomgr/block_annotate.h', 'src/core/lib/iomgr/block_annotate.h',
'src/core/lib/iomgr/buffer_list.h', 'src/core/lib/iomgr/buffer_list.h',
'src/core/lib/iomgr/call_combiner.h', 'src/core/lib/iomgr/call_combiner.h',
@ -3121,6 +3163,13 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/vsock.h', 'src/core/lib/iomgr/vsock.h',
'src/core/lib/iomgr/wakeup_fd_pipe.h', 'src/core/lib/iomgr/wakeup_fd_pipe.h',
'src/core/lib/iomgr/wakeup_fd_posix.h', 'src/core/lib/iomgr/wakeup_fd_posix.h',
'src/core/lib/json/json.h',
'src/core/lib/json/json_args.h',
'src/core/lib/json/json_channel_args.h',
'src/core/lib/json/json_object_loader.h',
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/matchers/matchers.h', 'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h', 'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h', 'src/core/lib/promise/all_ok.h',
@ -3140,7 +3189,6 @@ Pod::Spec.new do |s|
'src/core/lib/promise/latch.h', 'src/core/lib/promise/latch.h',
'src/core/lib/promise/loop.h', 'src/core/lib/promise/loop.h',
'src/core/lib/promise/map.h', 'src/core/lib/promise/map.h',
'src/core/lib/promise/observable.h',
'src/core/lib/promise/party.h', 'src/core/lib/promise/party.h',
'src/core/lib/promise/pipe.h', 'src/core/lib/promise/pipe.h',
'src/core/lib/promise/poll.h', 'src/core/lib/promise/poll.h',
@ -3150,6 +3198,7 @@ Pod::Spec.new do |s|
'src/core/lib/promise/seq.h', 'src/core/lib/promise/seq.h',
'src/core/lib/promise/sleep.h', 'src/core/lib/promise/sleep.h',
'src/core/lib/promise/status_flag.h', 'src/core/lib/promise/status_flag.h',
'src/core/lib/promise/trace.h',
'src/core/lib/promise/try_join.h', 'src/core/lib/promise/try_join.h',
'src/core/lib/promise/try_seq.h', 'src/core/lib/promise/try_seq.h',
'src/core/lib/resource_quota/api.h', 'src/core/lib/resource_quota/api.h',
@ -3159,6 +3208,7 @@ Pod::Spec.new do |s|
'src/core/lib/resource_quota/periodic_update.h', 'src/core/lib/resource_quota/periodic_update.h',
'src/core/lib/resource_quota/resource_quota.h', 'src/core/lib/resource_quota/resource_quota.h',
'src/core/lib/resource_quota/thread_quota.h', 'src/core/lib/resource_quota/thread_quota.h',
'src/core/lib/resource_quota/trace.h',
'src/core/lib/security/authorization/audit_logging.h', 'src/core/lib/security/authorization/audit_logging.h',
'src/core/lib/security/authorization/authorization_engine.h', 'src/core/lib/security/authorization/authorization_engine.h',
'src/core/lib/security/authorization/authorization_policy_provider.h', 'src/core/lib/security/authorization/authorization_policy_provider.h',
@ -3213,6 +3263,9 @@ Pod::Spec.new do |s|
'src/core/lib/security/security_connector/ssl_utils.h', 'src/core/lib/security/security_connector/ssl_utils.h',
'src/core/lib/security/security_connector/tls/tls_security_connector.h', 'src/core/lib/security/security_connector/tls/tls_security_connector.h',
'src/core/lib/security/transport/auth_filters.h', 'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h', 'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/percent_encoding.h', 'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice.h', 'src/core/lib/slice/slice.h',
@ -3223,33 +3276,37 @@ Pod::Spec.new do |s|
'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h', 'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h', 'src/core/lib/surface/call_test_only.h',
'src/core/lib/surface/call_utils.h', 'src/core/lib/surface/call_trace.h',
'src/core/lib/surface/channel.h', 'src/core/lib/surface/channel.h',
'src/core/lib/surface/channel_create.h', 'src/core/lib/surface/channel_create.h',
'src/core/lib/surface/channel_init.h', 'src/core/lib/surface/channel_init.h',
'src/core/lib/surface/channel_stack_type.h', 'src/core/lib/surface/channel_stack_type.h',
'src/core/lib/surface/client_call.h',
'src/core/lib/surface/completion_queue.h', 'src/core/lib/surface/completion_queue.h',
'src/core/lib/surface/completion_queue_factory.h', 'src/core/lib/surface/completion_queue_factory.h',
'src/core/lib/surface/event_string.h', 'src/core/lib/surface/event_string.h',
'src/core/lib/surface/filter_stack_call.h',
'src/core/lib/surface/init.h', 'src/core/lib/surface/init.h',
'src/core/lib/surface/init_internally.h', 'src/core/lib/surface/init_internally.h',
'src/core/lib/surface/lame_client.h', 'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/legacy_channel.h', 'src/core/lib/surface/legacy_channel.h',
'src/core/lib/surface/server_call.h', 'src/core/lib/surface/server.h',
'src/core/lib/surface/server_interface.h',
'src/core/lib/surface/validate_metadata.h', 'src/core/lib/surface/validate_metadata.h',
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h', 'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_arena_allocator.h',
'src/core/lib/transport/call_destination.h',
'src/core/lib/transport/call_filters.h', 'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h', 'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h', 'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h', 'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h', 'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h', 'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
'src/core/lib/transport/handshaker_registry.h',
'src/core/lib/transport/http2_errors.h', 'src/core/lib/transport/http2_errors.h',
'src/core/lib/transport/interception_chain.h', 'src/core/lib/transport/http_connect_handshaker.h',
'src/core/lib/transport/message.h', 'src/core/lib/transport/message.h',
'src/core/lib/transport/metadata.h', 'src/core/lib/transport/metadata.h',
'src/core/lib/transport/metadata_batch.h', 'src/core/lib/transport/metadata_batch.h',
@ -3258,6 +3315,7 @@ Pod::Spec.new do |s|
'src/core/lib/transport/parsed_metadata.h', 'src/core/lib/transport/parsed_metadata.h',
'src/core/lib/transport/simple_slice_based_metadata.h', 'src/core/lib/transport/simple_slice_based_metadata.h',
'src/core/lib/transport/status_conversion.h', 'src/core/lib/transport/status_conversion.h',
'src/core/lib/transport/tcp_connect_handshaker.h',
'src/core/lib/transport/timeout_encoding.h', 'src/core/lib/transport/timeout_encoding.h',
'src/core/lib/transport/transport.h', 'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h', 'src/core/lib/transport/transport_fwd.h',
@ -3305,22 +3363,11 @@ Pod::Spec.new do |s|
'src/core/resolver/server_address.h', 'src/core/resolver/server_address.h',
'src/core/resolver/xds/xds_dependency_manager.h', 'src/core/resolver/xds/xds_dependency_manager.h',
'src/core/resolver/xds/xds_resolver_attributes.h', 'src/core/resolver/xds/xds_resolver_attributes.h',
'src/core/server/server.h', 'src/core/resolver/xds/xds_resolver_trace.h',
'src/core/server/server_call_tracer_filter.h',
'src/core/server/server_config_selector.h',
'src/core/server/server_config_selector_filter.h',
'src/core/server/server_interface.h',
'src/core/server/xds_channel_stack_modifier.h',
'src/core/service_config/service_config.h', 'src/core/service_config/service_config.h',
'src/core/service_config/service_config_call_data.h', 'src/core/service_config/service_config_call_data.h',
'src/core/service_config/service_config_impl.h', 'src/core/service_config/service_config_impl.h',
'src/core/service_config/service_config_parser.h', 'src/core/service_config/service_config_parser.h',
'src/core/telemetry/call_tracer.h',
'src/core/telemetry/histogram_view.h',
'src/core/telemetry/metrics.h',
'src/core/telemetry/stats.h',
'src/core/telemetry/stats_data.h',
'src/core/telemetry/tcp_tracer.h',
'src/core/tsi/alts/crypt/gsec.h', 'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h', 'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h', 'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -3350,54 +3397,6 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_grpc.h', 'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h', 'src/core/tsi/transport_security_interface.h',
'src/core/util/alloc.h',
'src/core/util/gcp_metadata_query.h',
'src/core/util/http_client/format_request.h',
'src/core/util/http_client/httpcli.h',
'src/core/util/http_client/httpcli_ssl_credentials.h',
'src/core/util/http_client/parser.h',
'src/core/util/json/json.h',
'src/core/util/json/json_args.h',
'src/core/util/json/json_channel_args.h',
'src/core/util/json/json_object_loader.h',
'src/core/util/json/json_reader.h',
'src/core/util/json/json_util.h',
'src/core/util/json/json_writer.h',
'src/core/util/spinlock.h',
'src/core/util/string.h',
'src/core/util/time_precise.h',
'src/core/util/tmpfile.h',
'src/core/util/useful.h',
'src/core/xds/grpc/certificate_provider_store.h',
'src/core/xds/grpc/file_watcher_certificate_provider_factory.h',
'src/core/xds/grpc/upb_utils.h',
'src/core/xds/grpc/xds_audit_logger_registry.h',
'src/core/xds/grpc/xds_bootstrap_grpc.h',
'src/core/xds/grpc/xds_certificate_provider.h',
'src/core/xds/grpc/xds_client_grpc.h',
'src/core/xds/grpc/xds_cluster.h',
'src/core/xds/grpc/xds_cluster_specifier_plugin.h',
'src/core/xds/grpc/xds_common_types.h',
'src/core/xds/grpc/xds_endpoint.h',
'src/core/xds/grpc/xds_health_status.h',
'src/core/xds/grpc/xds_http_fault_filter.h',
'src/core/xds/grpc/xds_http_filters.h',
'src/core/xds/grpc/xds_http_rbac_filter.h',
'src/core/xds/grpc/xds_http_stateful_session_filter.h',
'src/core/xds/grpc/xds_lb_policy_registry.h',
'src/core/xds/grpc/xds_listener.h',
'src/core/xds/grpc/xds_route_config.h',
'src/core/xds/grpc/xds_routing.h',
'src/core/xds/grpc/xds_transport_grpc.h',
'src/core/xds/xds_client/xds_api.h',
'src/core/xds/xds_client/xds_bootstrap.h',
'src/core/xds/xds_client/xds_channel_args.h',
'src/core/xds/xds_client/xds_client.h',
'src/core/xds/xds_client/xds_client_stats.h',
'src/core/xds/xds_client/xds_metrics.h',
'src/core/xds/xds_client/xds_resource_type.h',
'src/core/xds/xds_client/xds_resource_type_impl.h',
'src/core/xds/xds_client/xds_transport.h',
'third_party/re2/re2/bitmap256.h', 'third_party/re2/re2/bitmap256.h',
'third_party/re2/re2/filtered_re2.h', 'third_party/re2/re2/filtered_re2.h',
'third_party/re2/re2/pod_array.h', 'third_party/re2/re2/pod_array.h',

3
gRPC-ProtoRPC.podspec generated
View File

@ -21,7 +21,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'gRPC-ProtoRPC' s.name = 'gRPC-ProtoRPC'
version = '1.65.0-dev' version = '1.64.0-dev'
s.version = version s.version = version
s.summary = 'RPC library for Protocol Buffers, based on gRPC' s.summary = 'RPC library for Protocol Buffers, based on gRPC'
s.homepage = 'https://grpc.io' s.homepage = 'https://grpc.io'
@ -37,7 +37,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'ProtoRPC' name = 'ProtoRPC'
s.module_name = name s.module_name = name

View File

@ -21,7 +21,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'gRPC-RxLibrary' s.name = 'gRPC-RxLibrary'
version = '1.65.0-dev' version = '1.64.0-dev'
s.version = version s.version = version
s.summary = 'Reactive Extensions library for iOS/OSX.' s.summary = 'Reactive Extensions library for iOS/OSX.'
s.homepage = 'https://grpc.io' s.homepage = 'https://grpc.io'
@ -37,7 +37,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'RxLibrary' name = 'RxLibrary'
s.module_name = name s.module_name = name

8
gRPC.podspec generated
View File

@ -20,7 +20,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'gRPC' s.name = 'gRPC'
version = '1.65.0-dev' version = '1.64.0-dev'
s.version = version s.version = version
s.summary = 'gRPC client library for iOS/OSX' s.summary = 'gRPC client library for iOS/OSX'
s.homepage = 'https://grpc.io' s.homepage = 'https://grpc.io'
@ -49,7 +49,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Exposes the privacy manifest. Depended on by any subspecs containing # Exposes the privacy manifest. Depended on by any subspecs containing
# non-interface files. # non-interface files.
@ -84,7 +83,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'Interface' do |ss| s.subspec 'Interface' do |ss|
@ -120,7 +118,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCore' do |ss| s.subspec 'GRPCCore' do |ss|
@ -158,7 +155,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCoreCronet' do |ss| s.subspec 'GRPCCoreCronet' do |ss|
@ -183,7 +179,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'InternalTesting' do |ss| s.subspec 'InternalTesting' do |ss|
@ -196,6 +191,5 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
end end

386
grpc.gemspec generated
View File

@ -99,7 +99,6 @@ Gem::Specification.new do |s|
s.files += %w( include/grpc/impl/propagation_bits.h ) s.files += %w( include/grpc/impl/propagation_bits.h )
s.files += %w( include/grpc/impl/slice_type.h ) s.files += %w( include/grpc/impl/slice_type.h )
s.files += %w( include/grpc/load_reporting.h ) s.files += %w( include/grpc/load_reporting.h )
s.files += %w( include/grpc/passive_listener.h )
s.files += %w( include/grpc/slice.h ) s.files += %w( include/grpc/slice.h )
s.files += %w( include/grpc/slice_buffer.h ) s.files += %w( include/grpc/slice_buffer.h )
s.files += %w( include/grpc/status.h ) s.files += %w( include/grpc/status.h )
@ -124,16 +123,10 @@ Gem::Specification.new do |s|
s.files += %w( include/grpc/support/thd_id.h ) s.files += %w( include/grpc/support/thd_id.h )
s.files += %w( include/grpc/support/time.h ) s.files += %w( include/grpc/support/time.h )
s.files += %w( include/grpc/support/workaround_list.h ) s.files += %w( include/grpc/support/workaround_list.h )
s.files += %w( src/core/channelz/channel_trace.cc )
s.files += %w( src/core/channelz/channel_trace.h )
s.files += %w( src/core/channelz/channelz.cc )
s.files += %w( src/core/channelz/channelz.h )
s.files += %w( src/core/channelz/channelz_registry.cc )
s.files += %w( src/core/channelz/channelz_registry.h )
s.files += %w( src/core/client_channel/backup_poller.cc ) s.files += %w( src/core/client_channel/backup_poller.cc )
s.files += %w( src/core/client_channel/backup_poller.h ) s.files += %w( src/core/client_channel/backup_poller.h )
s.files += %w( src/core/client_channel/client_channel.cc ) s.files += %w( src/core/client_channel/client_channel_channelz.cc )
s.files += %w( src/core/client_channel/client_channel.h ) s.files += %w( src/core/client_channel/client_channel_channelz.h )
s.files += %w( src/core/client_channel/client_channel_factory.cc ) s.files += %w( src/core/client_channel/client_channel_factory.cc )
s.files += %w( src/core/client_channel/client_channel_factory.h ) s.files += %w( src/core/client_channel/client_channel_factory.h )
s.files += %w( src/core/client_channel/client_channel_filter.cc ) s.files += %w( src/core/client_channel/client_channel_filter.cc )
@ -149,8 +142,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/client_channel/dynamic_filters.h ) s.files += %w( src/core/client_channel/dynamic_filters.h )
s.files += %w( src/core/client_channel/global_subchannel_pool.cc ) s.files += %w( src/core/client_channel/global_subchannel_pool.cc )
s.files += %w( src/core/client_channel/global_subchannel_pool.h ) s.files += %w( src/core/client_channel/global_subchannel_pool.h )
s.files += %w( src/core/client_channel/load_balanced_call_destination.cc ) s.files += %w( src/core/client_channel/http_proxy_mapper.cc )
s.files += %w( src/core/client_channel/load_balanced_call_destination.h ) s.files += %w( src/core/client_channel/http_proxy_mapper.h )
s.files += %w( src/core/client_channel/local_subchannel_pool.cc ) s.files += %w( src/core/client_channel/local_subchannel_pool.cc )
s.files += %w( src/core/client_channel/local_subchannel_pool.h ) s.files += %w( src/core/client_channel/local_subchannel_pool.h )
s.files += %w( src/core/client_channel/retry_filter.cc ) s.files += %w( src/core/client_channel/retry_filter.cc )
@ -176,6 +169,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/channel_idle/idle_filter_state.h ) s.files += %w( src/core/ext/filters/channel_idle/idle_filter_state.h )
s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc ) s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc )
s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h ) s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h )
s.files += %w( src/core/ext/filters/deadline/deadline_filter.cc )
s.files += %w( src/core/ext/filters/deadline/deadline_filter.h )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.cc ) s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.cc )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.h ) s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.h )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc ) s.files += %w( src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc )
@ -195,10 +190,15 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/rbac/rbac_filter.h ) s.files += %w( src/core/ext/filters/rbac/rbac_filter.h )
s.files += %w( src/core/ext/filters/rbac/rbac_service_config_parser.cc ) s.files += %w( src/core/ext/filters/rbac/rbac_service_config_parser.cc )
s.files += %w( src/core/ext/filters/rbac/rbac_service_config_parser.h ) s.files += %w( src/core/ext/filters/rbac/rbac_service_config_parser.h )
s.files += %w( src/core/ext/filters/server_config_selector/server_config_selector.h )
s.files += %w( src/core/ext/filters/server_config_selector/server_config_selector_filter.cc )
s.files += %w( src/core/ext/filters/server_config_selector/server_config_selector_filter.h )
s.files += %w( src/core/ext/filters/stateful_session/stateful_session_filter.cc ) s.files += %w( src/core/ext/filters/stateful_session/stateful_session_filter.cc )
s.files += %w( src/core/ext/filters/stateful_session/stateful_session_filter.h ) s.files += %w( src/core/ext/filters/stateful_session/stateful_session_filter.h )
s.files += %w( src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc ) s.files += %w( src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc )
s.files += %w( src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h ) s.files += %w( src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h )
s.files += %w( src/core/ext/gcp/metadata_query.cc )
s.files += %w( src/core/ext/gcp/metadata_query.h )
s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.cc ) s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.cc )
s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.h ) s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.h )
s.files += %w( src/core/ext/transport/chttp2/client/chttp2_connector.cc ) s.files += %w( src/core/ext/transport/chttp2/client/chttp2_connector.cc )
@ -243,6 +243,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser_table.h ) s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser_table.h )
s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.cc ) s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.cc )
s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.h ) s.files += %w( src/core/ext/transport/chttp2/transport/http2_settings.h )
s.files += %w( src/core/ext/transport/chttp2/transport/http_trace.cc )
s.files += %w( src/core/ext/transport/chttp2/transport/http_trace.h )
s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.cc ) s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.cc )
s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.h ) s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.h )
s.files += %w( src/core/ext/transport/chttp2/transport/internal.h ) s.files += %w( src/core/ext/transport/chttp2/transport/internal.h )
@ -262,6 +264,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/transport/chttp2/transport/write_size_policy.cc ) s.files += %w( src/core/ext/transport/chttp2/transport/write_size_policy.cc )
s.files += %w( src/core/ext/transport/chttp2/transport/write_size_policy.h ) s.files += %w( src/core/ext/transport/chttp2/transport/write_size_policy.h )
s.files += %w( src/core/ext/transport/chttp2/transport/writing.cc ) s.files += %w( src/core/ext/transport/chttp2/transport/writing.cc )
s.files += %w( src/core/ext/transport/inproc/inproc_plugin.cc )
s.files += %w( src/core/ext/transport/inproc/inproc_transport.cc ) s.files += %w( src/core/ext/transport/inproc/inproc_transport.cc )
s.files += %w( src/core/ext/transport/inproc/inproc_transport.h ) s.files += %w( src/core/ext/transport/inproc/inproc_transport.h )
s.files += %w( src/core/ext/transport/inproc/legacy_inproc_transport.cc ) s.files += %w( src/core/ext/transport/inproc/legacy_inproc_transport.cc )
@ -1065,26 +1068,63 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h )
s.files += %w( src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc ) s.files += %w( src/core/ext/xds/certificate_provider_store.cc )
s.files += %w( src/core/handshaker/endpoint_info/endpoint_info_handshaker.h ) s.files += %w( src/core/ext/xds/certificate_provider_store.h )
s.files += %w( src/core/handshaker/handshaker.cc ) s.files += %w( src/core/ext/xds/file_watcher_certificate_provider_factory.cc )
s.files += %w( src/core/handshaker/handshaker.h ) s.files += %w( src/core/ext/xds/file_watcher_certificate_provider_factory.h )
s.files += %w( src/core/handshaker/handshaker_factory.h ) s.files += %w( src/core/ext/xds/upb_utils.h )
s.files += %w( src/core/handshaker/handshaker_registry.cc ) s.files += %w( src/core/ext/xds/xds_api.cc )
s.files += %w( src/core/handshaker/handshaker_registry.h ) s.files += %w( src/core/ext/xds/xds_api.h )
s.files += %w( src/core/handshaker/http_connect/http_connect_handshaker.cc ) s.files += %w( src/core/ext/xds/xds_audit_logger_registry.cc )
s.files += %w( src/core/handshaker/http_connect/http_connect_handshaker.h ) s.files += %w( src/core/ext/xds/xds_audit_logger_registry.h )
s.files += %w( src/core/handshaker/http_connect/http_proxy_mapper.cc ) s.files += %w( src/core/ext/xds/xds_bootstrap.cc )
s.files += %w( src/core/handshaker/http_connect/http_proxy_mapper.h ) s.files += %w( src/core/ext/xds/xds_bootstrap.h )
s.files += %w( src/core/handshaker/proxy_mapper.h ) s.files += %w( src/core/ext/xds/xds_bootstrap_grpc.cc )
s.files += %w( src/core/handshaker/proxy_mapper_registry.cc ) s.files += %w( src/core/ext/xds/xds_bootstrap_grpc.h )
s.files += %w( src/core/handshaker/proxy_mapper_registry.h ) s.files += %w( src/core/ext/xds/xds_certificate_provider.cc )
s.files += %w( src/core/handshaker/security/secure_endpoint.cc ) s.files += %w( src/core/ext/xds/xds_certificate_provider.h )
s.files += %w( src/core/handshaker/security/secure_endpoint.h ) s.files += %w( src/core/ext/xds/xds_channel_args.h )
s.files += %w( src/core/handshaker/security/security_handshaker.cc ) s.files += %w( src/core/ext/xds/xds_channel_stack_modifier.cc )
s.files += %w( src/core/handshaker/security/security_handshaker.h ) s.files += %w( src/core/ext/xds/xds_channel_stack_modifier.h )
s.files += %w( src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc ) s.files += %w( src/core/ext/xds/xds_client.cc )
s.files += %w( src/core/handshaker/tcp_connect/tcp_connect_handshaker.h ) s.files += %w( src/core/ext/xds/xds_client.h )
s.files += %w( src/core/ext/xds/xds_client_grpc.cc )
s.files += %w( src/core/ext/xds/xds_client_grpc.h )
s.files += %w( src/core/ext/xds/xds_client_stats.cc )
s.files += %w( src/core/ext/xds/xds_client_stats.h )
s.files += %w( src/core/ext/xds/xds_cluster.cc )
s.files += %w( src/core/ext/xds/xds_cluster.h )
s.files += %w( src/core/ext/xds/xds_cluster_specifier_plugin.cc )
s.files += %w( src/core/ext/xds/xds_cluster_specifier_plugin.h )
s.files += %w( src/core/ext/xds/xds_common_types.cc )
s.files += %w( src/core/ext/xds/xds_common_types.h )
s.files += %w( src/core/ext/xds/xds_endpoint.cc )
s.files += %w( src/core/ext/xds/xds_endpoint.h )
s.files += %w( src/core/ext/xds/xds_health_status.cc )
s.files += %w( src/core/ext/xds/xds_health_status.h )
s.files += %w( src/core/ext/xds/xds_http_fault_filter.cc )
s.files += %w( src/core/ext/xds/xds_http_fault_filter.h )
s.files += %w( src/core/ext/xds/xds_http_filters.cc )
s.files += %w( src/core/ext/xds/xds_http_filters.h )
s.files += %w( src/core/ext/xds/xds_http_rbac_filter.cc )
s.files += %w( src/core/ext/xds/xds_http_rbac_filter.h )
s.files += %w( src/core/ext/xds/xds_http_stateful_session_filter.cc )
s.files += %w( src/core/ext/xds/xds_http_stateful_session_filter.h )
s.files += %w( src/core/ext/xds/xds_lb_policy_registry.cc )
s.files += %w( src/core/ext/xds/xds_lb_policy_registry.h )
s.files += %w( src/core/ext/xds/xds_listener.cc )
s.files += %w( src/core/ext/xds/xds_listener.h )
s.files += %w( src/core/ext/xds/xds_metrics.h )
s.files += %w( src/core/ext/xds/xds_resource_type.h )
s.files += %w( src/core/ext/xds/xds_resource_type_impl.h )
s.files += %w( src/core/ext/xds/xds_route_config.cc )
s.files += %w( src/core/ext/xds/xds_route_config.h )
s.files += %w( src/core/ext/xds/xds_routing.cc )
s.files += %w( src/core/ext/xds/xds_routing.h )
s.files += %w( src/core/ext/xds/xds_server_config_fetcher.cc )
s.files += %w( src/core/ext/xds/xds_transport.h )
s.files += %w( src/core/ext/xds/xds_transport_grpc.cc )
s.files += %w( src/core/ext/xds/xds_transport_grpc.h )
s.files += %w( src/core/lib/address_utils/parse_address.cc ) s.files += %w( src/core/lib/address_utils/parse_address.cc )
s.files += %w( src/core/lib/address_utils/parse_address.h ) s.files += %w( src/core/lib/address_utils/parse_address.h )
s.files += %w( src/core/lib/address_utils/sockaddr_utils.cc ) s.files += %w( src/core/lib/address_utils/sockaddr_utils.cc )
@ -1095,6 +1135,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/backoff/random_early_detection.cc ) s.files += %w( src/core/lib/backoff/random_early_detection.cc )
s.files += %w( src/core/lib/backoff/random_early_detection.h ) s.files += %w( src/core/lib/backoff/random_early_detection.h )
s.files += %w( src/core/lib/channel/call_finalization.h ) s.files += %w( src/core/lib/channel/call_finalization.h )
s.files += %w( src/core/lib/channel/call_tracer.cc )
s.files += %w( src/core/lib/channel/call_tracer.h )
s.files += %w( src/core/lib/channel/channel_args.cc ) s.files += %w( src/core/lib/channel/channel_args.cc )
s.files += %w( src/core/lib/channel/channel_args.h ) s.files += %w( src/core/lib/channel/channel_args.h )
s.files += %w( src/core/lib/channel/channel_args_preconditioning.cc ) s.files += %w( src/core/lib/channel/channel_args_preconditioning.cc )
@ -1106,12 +1148,26 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/channel/channel_stack_builder.h ) s.files += %w( src/core/lib/channel/channel_stack_builder.h )
s.files += %w( src/core/lib/channel/channel_stack_builder_impl.cc ) s.files += %w( src/core/lib/channel/channel_stack_builder_impl.cc )
s.files += %w( src/core/lib/channel/channel_stack_builder_impl.h ) s.files += %w( src/core/lib/channel/channel_stack_builder_impl.h )
s.files += %w( src/core/lib/channel/channel_stack_trace.cc )
s.files += %w( src/core/lib/channel/channel_stack_trace.h )
s.files += %w( src/core/lib/channel/channel_trace.cc )
s.files += %w( src/core/lib/channel/channel_trace.h )
s.files += %w( src/core/lib/channel/channelz.cc )
s.files += %w( src/core/lib/channel/channelz.h )
s.files += %w( src/core/lib/channel/channelz_registry.cc )
s.files += %w( src/core/lib/channel/channelz_registry.h )
s.files += %w( src/core/lib/channel/connected_channel.cc ) s.files += %w( src/core/lib/channel/connected_channel.cc )
s.files += %w( src/core/lib/channel/connected_channel.h ) s.files += %w( src/core/lib/channel/connected_channel.h )
s.files += %w( src/core/lib/channel/context.h )
s.files += %w( src/core/lib/channel/metrics.cc )
s.files += %w( src/core/lib/channel/metrics.h )
s.files += %w( src/core/lib/channel/promise_based_filter.cc ) s.files += %w( src/core/lib/channel/promise_based_filter.cc )
s.files += %w( src/core/lib/channel/promise_based_filter.h ) s.files += %w( src/core/lib/channel/promise_based_filter.h )
s.files += %w( src/core/lib/channel/server_call_tracer_filter.cc )
s.files += %w( src/core/lib/channel/server_call_tracer_filter.h )
s.files += %w( src/core/lib/channel/status_util.cc ) s.files += %w( src/core/lib/channel/status_util.cc )
s.files += %w( src/core/lib/channel/status_util.h ) s.files += %w( src/core/lib/channel/status_util.h )
s.files += %w( src/core/lib/channel/tcp_tracer.h )
s.files += %w( src/core/lib/compression/compression.cc ) s.files += %w( src/core/lib/compression/compression.cc )
s.files += %w( src/core/lib/compression/compression_internal.cc ) s.files += %w( src/core/lib/compression/compression_internal.cc )
s.files += %w( src/core/lib/compression/compression_internal.h ) s.files += %w( src/core/lib/compression/compression_internal.h )
@ -1126,11 +1182,14 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/config/load_config.h ) s.files += %w( src/core/lib/config/load_config.h )
s.files += %w( src/core/lib/debug/event_log.cc ) s.files += %w( src/core/lib/debug/event_log.cc )
s.files += %w( src/core/lib/debug/event_log.h ) s.files += %w( src/core/lib/debug/event_log.h )
s.files += %w( src/core/lib/debug/histogram_view.cc )
s.files += %w( src/core/lib/debug/histogram_view.h )
s.files += %w( src/core/lib/debug/stats.cc )
s.files += %w( src/core/lib/debug/stats.h )
s.files += %w( src/core/lib/debug/stats_data.cc )
s.files += %w( src/core/lib/debug/stats_data.h )
s.files += %w( src/core/lib/debug/trace.cc ) s.files += %w( src/core/lib/debug/trace.cc )
s.files += %w( src/core/lib/debug/trace.h ) s.files += %w( src/core/lib/debug/trace.h )
s.files += %w( src/core/lib/debug/trace_flags.cc )
s.files += %w( src/core/lib/debug/trace_flags.h )
s.files += %w( src/core/lib/debug/trace_impl.h )
s.files += %w( src/core/lib/event_engine/ares_resolver.cc ) s.files += %w( src/core/lib/event_engine/ares_resolver.cc )
s.files += %w( src/core/lib/event_engine/ares_resolver.h ) s.files += %w( src/core/lib/event_engine/ares_resolver.h )
s.files += %w( src/core/lib/event_engine/cf_engine/cf_engine.cc ) s.files += %w( src/core/lib/event_engine/cf_engine/cf_engine.cc )
@ -1152,7 +1211,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/event_engine/extensions/can_track_errors.h ) s.files += %w( src/core/lib/event_engine/extensions/can_track_errors.h )
s.files += %w( src/core/lib/event_engine/extensions/chaotic_good_extension.h ) s.files += %w( src/core/lib/event_engine/extensions/chaotic_good_extension.h )
s.files += %w( src/core/lib/event_engine/extensions/supports_fd.h ) s.files += %w( src/core/lib/event_engine/extensions/supports_fd.h )
s.files += %w( src/core/lib/event_engine/extensions/tcp_trace.h )
s.files += %w( src/core/lib/event_engine/forkable.cc ) s.files += %w( src/core/lib/event_engine/forkable.cc )
s.files += %w( src/core/lib/event_engine/forkable.h ) s.files += %w( src/core/lib/event_engine/forkable.h )
s.files += %w( src/core/lib/event_engine/grpc_polled_fd.h ) s.files += %w( src/core/lib/event_engine/grpc_polled_fd.h )
@ -1223,6 +1281,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/event_engine/thready_event_engine/thready_event_engine.h ) s.files += %w( src/core/lib/event_engine/thready_event_engine/thready_event_engine.h )
s.files += %w( src/core/lib/event_engine/time_util.cc ) s.files += %w( src/core/lib/event_engine/time_util.cc )
s.files += %w( src/core/lib/event_engine/time_util.h ) s.files += %w( src/core/lib/event_engine/time_util.h )
s.files += %w( src/core/lib/event_engine/trace.cc )
s.files += %w( src/core/lib/event_engine/trace.h ) s.files += %w( src/core/lib/event_engine/trace.h )
s.files += %w( src/core/lib/event_engine/utils.cc ) s.files += %w( src/core/lib/event_engine/utils.cc )
s.files += %w( src/core/lib/event_engine/utils.h ) s.files += %w( src/core/lib/event_engine/utils.h )
@ -1247,6 +1306,39 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/experiments/config.h ) s.files += %w( src/core/lib/experiments/config.h )
s.files += %w( src/core/lib/experiments/experiments.cc ) s.files += %w( src/core/lib/experiments/experiments.cc )
s.files += %w( src/core/lib/experiments/experiments.h ) s.files += %w( src/core/lib/experiments/experiments.h )
s.files += %w( src/core/lib/gpr/alloc.cc )
s.files += %w( src/core/lib/gpr/alloc.h )
s.files += %w( src/core/lib/gpr/android/log.cc )
s.files += %w( src/core/lib/gpr/atm.cc )
s.files += %w( src/core/lib/gpr/iphone/cpu.cc )
s.files += %w( src/core/lib/gpr/linux/cpu.cc )
s.files += %w( src/core/lib/gpr/linux/log.cc )
s.files += %w( src/core/lib/gpr/log.cc )
s.files += %w( src/core/lib/gpr/log_internal.h )
s.files += %w( src/core/lib/gpr/msys/tmpfile.cc )
s.files += %w( src/core/lib/gpr/posix/cpu.cc )
s.files += %w( src/core/lib/gpr/posix/log.cc )
s.files += %w( src/core/lib/gpr/posix/string.cc )
s.files += %w( src/core/lib/gpr/posix/sync.cc )
s.files += %w( src/core/lib/gpr/posix/time.cc )
s.files += %w( src/core/lib/gpr/posix/tmpfile.cc )
s.files += %w( src/core/lib/gpr/spinlock.h )
s.files += %w( src/core/lib/gpr/string.cc )
s.files += %w( src/core/lib/gpr/string.h )
s.files += %w( src/core/lib/gpr/sync.cc )
s.files += %w( src/core/lib/gpr/sync_abseil.cc )
s.files += %w( src/core/lib/gpr/time.cc )
s.files += %w( src/core/lib/gpr/time_precise.cc )
s.files += %w( src/core/lib/gpr/time_precise.h )
s.files += %w( src/core/lib/gpr/tmpfile.h )
s.files += %w( src/core/lib/gpr/useful.h )
s.files += %w( src/core/lib/gpr/windows/cpu.cc )
s.files += %w( src/core/lib/gpr/windows/log.cc )
s.files += %w( src/core/lib/gpr/windows/string.cc )
s.files += %w( src/core/lib/gpr/windows/string_util.cc )
s.files += %w( src/core/lib/gpr/windows/sync.cc )
s.files += %w( src/core/lib/gpr/windows/time.cc )
s.files += %w( src/core/lib/gpr/windows/tmpfile.cc )
s.files += %w( src/core/lib/gprpp/atomic_utils.h ) s.files += %w( src/core/lib/gprpp/atomic_utils.h )
s.files += %w( src/core/lib/gprpp/bitset.h ) s.files += %w( src/core/lib/gprpp/bitset.h )
s.files += %w( src/core/lib/gprpp/chunked_vector.h ) s.files += %w( src/core/lib/gprpp/chunked_vector.h )
@ -1258,15 +1350,11 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/directory_reader.h ) s.files += %w( src/core/lib/gprpp/directory_reader.h )
s.files += %w( src/core/lib/gprpp/down_cast.h ) s.files += %w( src/core/lib/gprpp/down_cast.h )
s.files += %w( src/core/lib/gprpp/dual_ref_counted.h ) s.files += %w( src/core/lib/gprpp/dual_ref_counted.h )
s.files += %w( src/core/lib/gprpp/dump_args.cc )
s.files += %w( src/core/lib/gprpp/dump_args.h )
s.files += %w( src/core/lib/gprpp/env.h ) s.files += %w( src/core/lib/gprpp/env.h )
s.files += %w( src/core/lib/gprpp/examine_stack.cc ) s.files += %w( src/core/lib/gprpp/examine_stack.cc )
s.files += %w( src/core/lib/gprpp/examine_stack.h ) s.files += %w( src/core/lib/gprpp/examine_stack.h )
s.files += %w( src/core/lib/gprpp/fork.cc ) s.files += %w( src/core/lib/gprpp/fork.cc )
s.files += %w( src/core/lib/gprpp/fork.h ) s.files += %w( src/core/lib/gprpp/fork.h )
s.files += %w( src/core/lib/gprpp/glob.cc )
s.files += %w( src/core/lib/gprpp/glob.h )
s.files += %w( src/core/lib/gprpp/host_port.cc ) s.files += %w( src/core/lib/gprpp/host_port.cc )
s.files += %w( src/core/lib/gprpp/host_port.h ) s.files += %w( src/core/lib/gprpp/host_port.h )
s.files += %w( src/core/lib/gprpp/if_list.h ) s.files += %w( src/core/lib/gprpp/if_list.h )
@ -1324,6 +1412,17 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/work_serializer.cc ) s.files += %w( src/core/lib/gprpp/work_serializer.cc )
s.files += %w( src/core/lib/gprpp/work_serializer.h ) s.files += %w( src/core/lib/gprpp/work_serializer.h )
s.files += %w( src/core/lib/gprpp/xxhash_inline.h ) s.files += %w( src/core/lib/gprpp/xxhash_inline.h )
s.files += %w( src/core/lib/handshaker/proxy_mapper.h )
s.files += %w( src/core/lib/handshaker/proxy_mapper_registry.cc )
s.files += %w( src/core/lib/handshaker/proxy_mapper_registry.h )
s.files += %w( src/core/lib/http/format_request.cc )
s.files += %w( src/core/lib/http/format_request.h )
s.files += %w( src/core/lib/http/httpcli.cc )
s.files += %w( src/core/lib/http/httpcli.h )
s.files += %w( src/core/lib/http/httpcli_security_connector.cc )
s.files += %w( src/core/lib/http/httpcli_ssl_credentials.h )
s.files += %w( src/core/lib/http/parser.cc )
s.files += %w( src/core/lib/http/parser.h )
s.files += %w( src/core/lib/iomgr/block_annotate.h ) s.files += %w( src/core/lib/iomgr/block_annotate.h )
s.files += %w( src/core/lib/iomgr/buffer_list.cc ) s.files += %w( src/core/lib/iomgr/buffer_list.cc )
s.files += %w( src/core/lib/iomgr/buffer_list.h ) s.files += %w( src/core/lib/iomgr/buffer_list.h )
@ -1356,6 +1455,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/iomgr/ev_poll_posix.h ) s.files += %w( src/core/lib/iomgr/ev_poll_posix.h )
s.files += %w( src/core/lib/iomgr/ev_posix.cc ) s.files += %w( src/core/lib/iomgr/ev_posix.cc )
s.files += %w( src/core/lib/iomgr/ev_posix.h ) s.files += %w( src/core/lib/iomgr/ev_posix.h )
s.files += %w( src/core/lib/iomgr/ev_windows.cc )
s.files += %w( src/core/lib/iomgr/event_engine_shims/closure.cc ) s.files += %w( src/core/lib/iomgr/event_engine_shims/closure.cc )
s.files += %w( src/core/lib/iomgr/event_engine_shims/closure.h ) s.files += %w( src/core/lib/iomgr/event_engine_shims/closure.h )
s.files += %w( src/core/lib/iomgr/event_engine_shims/endpoint.cc ) s.files += %w( src/core/lib/iomgr/event_engine_shims/endpoint.cc )
@ -1465,6 +1565,17 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.h ) s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.h )
s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.cc ) s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.cc )
s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.h ) s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.h )
s.files += %w( src/core/lib/json/json.h )
s.files += %w( src/core/lib/json/json_args.h )
s.files += %w( src/core/lib/json/json_channel_args.h )
s.files += %w( src/core/lib/json/json_object_loader.cc )
s.files += %w( src/core/lib/json/json_object_loader.h )
s.files += %w( src/core/lib/json/json_reader.cc )
s.files += %w( src/core/lib/json/json_reader.h )
s.files += %w( src/core/lib/json/json_util.cc )
s.files += %w( src/core/lib/json/json_util.h )
s.files += %w( src/core/lib/json/json_writer.cc )
s.files += %w( src/core/lib/json/json_writer.h )
s.files += %w( src/core/lib/matchers/matchers.cc ) s.files += %w( src/core/lib/matchers/matchers.cc )
s.files += %w( src/core/lib/matchers/matchers.h ) s.files += %w( src/core/lib/matchers/matchers.h )
s.files += %w( src/core/lib/promise/activity.cc ) s.files += %w( src/core/lib/promise/activity.cc )
@ -1486,7 +1597,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/promise/latch.h ) s.files += %w( src/core/lib/promise/latch.h )
s.files += %w( src/core/lib/promise/loop.h ) s.files += %w( src/core/lib/promise/loop.h )
s.files += %w( src/core/lib/promise/map.h ) s.files += %w( src/core/lib/promise/map.h )
s.files += %w( src/core/lib/promise/observable.h )
s.files += %w( src/core/lib/promise/party.cc ) s.files += %w( src/core/lib/promise/party.cc )
s.files += %w( src/core/lib/promise/party.h ) s.files += %w( src/core/lib/promise/party.h )
s.files += %w( src/core/lib/promise/pipe.h ) s.files += %w( src/core/lib/promise/pipe.h )
@ -1498,6 +1608,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/promise/sleep.cc ) s.files += %w( src/core/lib/promise/sleep.cc )
s.files += %w( src/core/lib/promise/sleep.h ) s.files += %w( src/core/lib/promise/sleep.h )
s.files += %w( src/core/lib/promise/status_flag.h ) s.files += %w( src/core/lib/promise/status_flag.h )
s.files += %w( src/core/lib/promise/trace.cc )
s.files += %w( src/core/lib/promise/trace.h )
s.files += %w( src/core/lib/promise/try_join.h ) s.files += %w( src/core/lib/promise/try_join.h )
s.files += %w( src/core/lib/promise/try_seq.h ) s.files += %w( src/core/lib/promise/try_seq.h )
s.files += %w( src/core/lib/resource_quota/api.cc ) s.files += %w( src/core/lib/resource_quota/api.cc )
@ -1514,6 +1626,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/resource_quota/resource_quota.h ) s.files += %w( src/core/lib/resource_quota/resource_quota.h )
s.files += %w( src/core/lib/resource_quota/thread_quota.cc ) s.files += %w( src/core/lib/resource_quota/thread_quota.cc )
s.files += %w( src/core/lib/resource_quota/thread_quota.h ) s.files += %w( src/core/lib/resource_quota/thread_quota.h )
s.files += %w( src/core/lib/resource_quota/trace.cc )
s.files += %w( src/core/lib/resource_quota/trace.h )
s.files += %w( src/core/lib/security/authorization/audit_logging.cc ) s.files += %w( src/core/lib/security/authorization/audit_logging.cc )
s.files += %w( src/core/lib/security/authorization/audit_logging.h ) s.files += %w( src/core/lib/security/authorization/audit_logging.h )
s.files += %w( src/core/lib/security/authorization/authorization_engine.h ) s.files += %w( src/core/lib/security/authorization/authorization_engine.h )
@ -1628,7 +1742,13 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/security/security_connector/tls/tls_security_connector.h ) s.files += %w( src/core/lib/security/security_connector/tls/tls_security_connector.h )
s.files += %w( src/core/lib/security/transport/auth_filters.h ) s.files += %w( src/core/lib/security/transport/auth_filters.h )
s.files += %w( src/core/lib/security/transport/client_auth_filter.cc ) s.files += %w( src/core/lib/security/transport/client_auth_filter.cc )
s.files += %w( src/core/lib/security/transport/secure_endpoint.cc )
s.files += %w( src/core/lib/security/transport/secure_endpoint.h )
s.files += %w( src/core/lib/security/transport/security_handshaker.cc )
s.files += %w( src/core/lib/security/transport/security_handshaker.h )
s.files += %w( src/core/lib/security/transport/server_auth_filter.cc ) s.files += %w( src/core/lib/security/transport/server_auth_filter.cc )
s.files += %w( src/core/lib/security/transport/tsi_error.cc )
s.files += %w( src/core/lib/security/transport/tsi_error.h )
s.files += %w( src/core/lib/security/util/json_util.cc ) s.files += %w( src/core/lib/security/util/json_util.cc )
s.files += %w( src/core/lib/security/util/json_util.h ) s.files += %w( src/core/lib/security/util/json_util.h )
s.files += %w( src/core/lib/slice/percent_encoding.cc ) s.files += %w( src/core/lib/slice/percent_encoding.cc )
@ -1638,9 +1758,11 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/slice/slice_buffer.cc ) s.files += %w( src/core/lib/slice/slice_buffer.cc )
s.files += %w( src/core/lib/slice/slice_buffer.h ) s.files += %w( src/core/lib/slice/slice_buffer.h )
s.files += %w( src/core/lib/slice/slice_internal.h ) s.files += %w( src/core/lib/slice/slice_internal.h )
s.files += %w( src/core/lib/slice/slice_refcount.cc )
s.files += %w( src/core/lib/slice/slice_refcount.h ) s.files += %w( src/core/lib/slice/slice_refcount.h )
s.files += %w( src/core/lib/slice/slice_string_helpers.cc ) s.files += %w( src/core/lib/slice/slice_string_helpers.cc )
s.files += %w( src/core/lib/slice/slice_string_helpers.h ) s.files += %w( src/core/lib/slice/slice_string_helpers.h )
s.files += %w( src/core/lib/surface/api_trace.cc )
s.files += %w( src/core/lib/surface/api_trace.h ) s.files += %w( src/core/lib/surface/api_trace.h )
s.files += %w( src/core/lib/surface/byte_buffer.cc ) s.files += %w( src/core/lib/surface/byte_buffer.cc )
s.files += %w( src/core/lib/surface/byte_buffer_reader.cc ) s.files += %w( src/core/lib/surface/byte_buffer_reader.cc )
@ -1649,8 +1771,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/surface/call_details.cc ) s.files += %w( src/core/lib/surface/call_details.cc )
s.files += %w( src/core/lib/surface/call_log_batch.cc ) s.files += %w( src/core/lib/surface/call_log_batch.cc )
s.files += %w( src/core/lib/surface/call_test_only.h ) s.files += %w( src/core/lib/surface/call_test_only.h )
s.files += %w( src/core/lib/surface/call_utils.cc ) s.files += %w( src/core/lib/surface/call_trace.h )
s.files += %w( src/core/lib/surface/call_utils.h )
s.files += %w( src/core/lib/surface/channel.cc ) s.files += %w( src/core/lib/surface/channel.cc )
s.files += %w( src/core/lib/surface/channel.h ) s.files += %w( src/core/lib/surface/channel.h )
s.files += %w( src/core/lib/surface/channel_create.cc ) s.files += %w( src/core/lib/surface/channel_create.cc )
@ -1659,16 +1780,12 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/surface/channel_init.h ) s.files += %w( src/core/lib/surface/channel_init.h )
s.files += %w( src/core/lib/surface/channel_stack_type.cc ) s.files += %w( src/core/lib/surface/channel_stack_type.cc )
s.files += %w( src/core/lib/surface/channel_stack_type.h ) s.files += %w( src/core/lib/surface/channel_stack_type.h )
s.files += %w( src/core/lib/surface/client_call.cc )
s.files += %w( src/core/lib/surface/client_call.h )
s.files += %w( src/core/lib/surface/completion_queue.cc ) s.files += %w( src/core/lib/surface/completion_queue.cc )
s.files += %w( src/core/lib/surface/completion_queue.h ) s.files += %w( src/core/lib/surface/completion_queue.h )
s.files += %w( src/core/lib/surface/completion_queue_factory.cc ) s.files += %w( src/core/lib/surface/completion_queue_factory.cc )
s.files += %w( src/core/lib/surface/completion_queue_factory.h ) s.files += %w( src/core/lib/surface/completion_queue_factory.h )
s.files += %w( src/core/lib/surface/event_string.cc ) s.files += %w( src/core/lib/surface/event_string.cc )
s.files += %w( src/core/lib/surface/event_string.h ) s.files += %w( src/core/lib/surface/event_string.h )
s.files += %w( src/core/lib/surface/filter_stack_call.cc )
s.files += %w( src/core/lib/surface/filter_stack_call.h )
s.files += %w( src/core/lib/surface/init.cc ) s.files += %w( src/core/lib/surface/init.cc )
s.files += %w( src/core/lib/surface/init.h ) s.files += %w( src/core/lib/surface/init.h )
s.files += %w( src/core/lib/surface/init_internally.cc ) s.files += %w( src/core/lib/surface/init_internally.cc )
@ -1678,30 +1795,41 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/surface/legacy_channel.cc ) s.files += %w( src/core/lib/surface/legacy_channel.cc )
s.files += %w( src/core/lib/surface/legacy_channel.h ) s.files += %w( src/core/lib/surface/legacy_channel.h )
s.files += %w( src/core/lib/surface/metadata_array.cc ) s.files += %w( src/core/lib/surface/metadata_array.cc )
s.files += %w( src/core/lib/surface/server_call.cc ) s.files += %w( src/core/lib/surface/server.cc )
s.files += %w( src/core/lib/surface/server_call.h ) s.files += %w( src/core/lib/surface/server.h )
s.files += %w( src/core/lib/surface/server_interface.h )
s.files += %w( src/core/lib/surface/validate_metadata.cc ) s.files += %w( src/core/lib/surface/validate_metadata.cc )
s.files += %w( src/core/lib/surface/validate_metadata.h ) s.files += %w( src/core/lib/surface/validate_metadata.h )
s.files += %w( src/core/lib/surface/version.cc ) s.files += %w( src/core/lib/surface/version.cc )
s.files += %w( src/core/lib/surface/wait_for_cq_end_op.cc )
s.files += %w( src/core/lib/surface/wait_for_cq_end_op.h )
s.files += %w( src/core/lib/transport/batch_builder.cc )
s.files += %w( src/core/lib/transport/batch_builder.h )
s.files += %w( src/core/lib/transport/bdp_estimator.cc ) s.files += %w( src/core/lib/transport/bdp_estimator.cc )
s.files += %w( src/core/lib/transport/bdp_estimator.h ) s.files += %w( src/core/lib/transport/bdp_estimator.h )
s.files += %w( src/core/lib/transport/call_arena_allocator.cc )
s.files += %w( src/core/lib/transport/call_arena_allocator.h )
s.files += %w( src/core/lib/transport/call_destination.h )
s.files += %w( src/core/lib/transport/call_filters.cc ) s.files += %w( src/core/lib/transport/call_filters.cc )
s.files += %w( src/core/lib/transport/call_filters.h ) s.files += %w( src/core/lib/transport/call_filters.h )
s.files += %w( src/core/lib/transport/call_final_info.cc ) s.files += %w( src/core/lib/transport/call_final_info.cc )
s.files += %w( src/core/lib/transport/call_final_info.h ) s.files += %w( src/core/lib/transport/call_final_info.h )
s.files += %w( src/core/lib/transport/call_size_estimator.cc )
s.files += %w( src/core/lib/transport/call_size_estimator.h )
s.files += %w( src/core/lib/transport/call_spine.cc ) s.files += %w( src/core/lib/transport/call_spine.cc )
s.files += %w( src/core/lib/transport/call_spine.h ) s.files += %w( src/core/lib/transport/call_spine.h )
s.files += %w( src/core/lib/transport/connectivity_state.cc ) s.files += %w( src/core/lib/transport/connectivity_state.cc )
s.files += %w( src/core/lib/transport/connectivity_state.h ) s.files += %w( src/core/lib/transport/connectivity_state.h )
s.files += %w( src/core/lib/transport/custom_metadata.h ) s.files += %w( src/core/lib/transport/custom_metadata.h )
s.files += %w( src/core/lib/transport/endpoint_info_handshaker.cc )
s.files += %w( src/core/lib/transport/endpoint_info_handshaker.h )
s.files += %w( src/core/lib/transport/error_utils.cc ) s.files += %w( src/core/lib/transport/error_utils.cc )
s.files += %w( src/core/lib/transport/error_utils.h ) s.files += %w( src/core/lib/transport/error_utils.h )
s.files += %w( src/core/lib/transport/handshaker.cc )
s.files += %w( src/core/lib/transport/handshaker.h )
s.files += %w( src/core/lib/transport/handshaker_factory.h )
s.files += %w( src/core/lib/transport/handshaker_registry.cc )
s.files += %w( src/core/lib/transport/handshaker_registry.h )
s.files += %w( src/core/lib/transport/http2_errors.h ) s.files += %w( src/core/lib/transport/http2_errors.h )
s.files += %w( src/core/lib/transport/interception_chain.cc ) s.files += %w( src/core/lib/transport/http_connect_handshaker.cc )
s.files += %w( src/core/lib/transport/interception_chain.h ) s.files += %w( src/core/lib/transport/http_connect_handshaker.h )
s.files += %w( src/core/lib/transport/message.cc ) s.files += %w( src/core/lib/transport/message.cc )
s.files += %w( src/core/lib/transport/message.h ) s.files += %w( src/core/lib/transport/message.h )
s.files += %w( src/core/lib/transport/metadata.cc ) s.files += %w( src/core/lib/transport/metadata.cc )
@ -1716,6 +1844,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/transport/simple_slice_based_metadata.h ) s.files += %w( src/core/lib/transport/simple_slice_based_metadata.h )
s.files += %w( src/core/lib/transport/status_conversion.cc ) s.files += %w( src/core/lib/transport/status_conversion.cc )
s.files += %w( src/core/lib/transport/status_conversion.h ) s.files += %w( src/core/lib/transport/status_conversion.h )
s.files += %w( src/core/lib/transport/tcp_connect_handshaker.cc )
s.files += %w( src/core/lib/transport/tcp_connect_handshaker.h )
s.files += %w( src/core/lib/transport/timeout_encoding.cc ) s.files += %w( src/core/lib/transport/timeout_encoding.cc )
s.files += %w( src/core/lib/transport/timeout_encoding.h ) s.files += %w( src/core/lib/transport/timeout_encoding.h )
s.files += %w( src/core/lib/transport/transport.cc ) s.files += %w( src/core/lib/transport/transport.cc )
@ -1816,17 +1946,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/resolver/xds/xds_dependency_manager.h ) s.files += %w( src/core/resolver/xds/xds_dependency_manager.h )
s.files += %w( src/core/resolver/xds/xds_resolver.cc ) s.files += %w( src/core/resolver/xds/xds_resolver.cc )
s.files += %w( src/core/resolver/xds/xds_resolver_attributes.h ) s.files += %w( src/core/resolver/xds/xds_resolver_attributes.h )
s.files += %w( src/core/server/server.cc ) s.files += %w( src/core/resolver/xds/xds_resolver_trace.cc )
s.files += %w( src/core/server/server.h ) s.files += %w( src/core/resolver/xds/xds_resolver_trace.h )
s.files += %w( src/core/server/server_call_tracer_filter.cc )
s.files += %w( src/core/server/server_call_tracer_filter.h )
s.files += %w( src/core/server/server_config_selector.h )
s.files += %w( src/core/server/server_config_selector_filter.cc )
s.files += %w( src/core/server/server_config_selector_filter.h )
s.files += %w( src/core/server/server_interface.h )
s.files += %w( src/core/server/xds_channel_stack_modifier.cc )
s.files += %w( src/core/server/xds_channel_stack_modifier.h )
s.files += %w( src/core/server/xds_server_config_fetcher.cc )
s.files += %w( src/core/service_config/service_config.h ) s.files += %w( src/core/service_config/service_config.h )
s.files += %w( src/core/service_config/service_config_call_data.h ) s.files += %w( src/core/service_config/service_config_call_data.h )
s.files += %w( src/core/service_config/service_config_channel_arg_filter.cc ) s.files += %w( src/core/service_config/service_config_channel_arg_filter.cc )
@ -1834,17 +1955,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/service_config/service_config_impl.h ) s.files += %w( src/core/service_config/service_config_impl.h )
s.files += %w( src/core/service_config/service_config_parser.cc ) s.files += %w( src/core/service_config/service_config_parser.cc )
s.files += %w( src/core/service_config/service_config_parser.h ) s.files += %w( src/core/service_config/service_config_parser.h )
s.files += %w( src/core/telemetry/call_tracer.cc )
s.files += %w( src/core/telemetry/call_tracer.h )
s.files += %w( src/core/telemetry/histogram_view.cc )
s.files += %w( src/core/telemetry/histogram_view.h )
s.files += %w( src/core/telemetry/metrics.cc )
s.files += %w( src/core/telemetry/metrics.h )
s.files += %w( src/core/telemetry/stats.cc )
s.files += %w( src/core/telemetry/stats.h )
s.files += %w( src/core/telemetry/stats_data.cc )
s.files += %w( src/core/telemetry/stats_data.h )
s.files += %w( src/core/telemetry/tcp_tracer.h )
s.files += %w( src/core/tsi/alts/crypt/aes_gcm.cc ) s.files += %w( src/core/tsi/alts/crypt/aes_gcm.cc )
s.files += %w( src/core/tsi/alts/crypt/gsec.cc ) s.files += %w( src/core/tsi/alts/crypt/gsec.cc )
s.files += %w( src/core/tsi/alts/crypt/gsec.h ) s.files += %w( src/core/tsi/alts/crypt/gsec.h )
@ -1903,113 +2013,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/tsi/transport_security_grpc.cc ) s.files += %w( src/core/tsi/transport_security_grpc.cc )
s.files += %w( src/core/tsi/transport_security_grpc.h ) s.files += %w( src/core/tsi/transport_security_grpc.h )
s.files += %w( src/core/tsi/transport_security_interface.h ) s.files += %w( src/core/tsi/transport_security_interface.h )
s.files += %w( src/core/util/alloc.cc )
s.files += %w( src/core/util/alloc.h )
s.files += %w( src/core/util/android/log.cc )
s.files += %w( src/core/util/atm.cc )
s.files += %w( src/core/util/gcp_metadata_query.cc )
s.files += %w( src/core/util/gcp_metadata_query.h )
s.files += %w( src/core/util/http_client/format_request.cc )
s.files += %w( src/core/util/http_client/format_request.h )
s.files += %w( src/core/util/http_client/httpcli.cc )
s.files += %w( src/core/util/http_client/httpcli.h )
s.files += %w( src/core/util/http_client/httpcli_security_connector.cc )
s.files += %w( src/core/util/http_client/httpcli_ssl_credentials.h )
s.files += %w( src/core/util/http_client/parser.cc )
s.files += %w( src/core/util/http_client/parser.h )
s.files += %w( src/core/util/iphone/cpu.cc )
s.files += %w( src/core/util/json/json.h )
s.files += %w( src/core/util/json/json_args.h )
s.files += %w( src/core/util/json/json_channel_args.h )
s.files += %w( src/core/util/json/json_object_loader.cc )
s.files += %w( src/core/util/json/json_object_loader.h )
s.files += %w( src/core/util/json/json_reader.cc )
s.files += %w( src/core/util/json/json_reader.h )
s.files += %w( src/core/util/json/json_util.cc )
s.files += %w( src/core/util/json/json_util.h )
s.files += %w( src/core/util/json/json_writer.cc )
s.files += %w( src/core/util/json/json_writer.h )
s.files += %w( src/core/util/linux/cpu.cc )
s.files += %w( src/core/util/linux/log.cc )
s.files += %w( src/core/util/log.cc )
s.files += %w( src/core/util/msys/tmpfile.cc )
s.files += %w( src/core/util/posix/cpu.cc )
s.files += %w( src/core/util/posix/log.cc )
s.files += %w( src/core/util/posix/string.cc )
s.files += %w( src/core/util/posix/sync.cc )
s.files += %w( src/core/util/posix/time.cc )
s.files += %w( src/core/util/posix/tmpfile.cc )
s.files += %w( src/core/util/spinlock.h )
s.files += %w( src/core/util/string.cc )
s.files += %w( src/core/util/string.h )
s.files += %w( src/core/util/sync.cc )
s.files += %w( src/core/util/sync_abseil.cc )
s.files += %w( src/core/util/time.cc )
s.files += %w( src/core/util/time_precise.cc )
s.files += %w( src/core/util/time_precise.h )
s.files += %w( src/core/util/tmpfile.h )
s.files += %w( src/core/util/useful.h )
s.files += %w( src/core/util/windows/cpu.cc )
s.files += %w( src/core/util/windows/log.cc )
s.files += %w( src/core/util/windows/string.cc )
s.files += %w( src/core/util/windows/string_util.cc )
s.files += %w( src/core/util/windows/sync.cc )
s.files += %w( src/core/util/windows/time.cc )
s.files += %w( src/core/util/windows/tmpfile.cc )
s.files += %w( src/core/xds/grpc/certificate_provider_store.cc )
s.files += %w( src/core/xds/grpc/certificate_provider_store.h )
s.files += %w( src/core/xds/grpc/file_watcher_certificate_provider_factory.cc )
s.files += %w( src/core/xds/grpc/file_watcher_certificate_provider_factory.h )
s.files += %w( src/core/xds/grpc/upb_utils.h )
s.files += %w( src/core/xds/grpc/xds_audit_logger_registry.cc )
s.files += %w( src/core/xds/grpc/xds_audit_logger_registry.h )
s.files += %w( src/core/xds/grpc/xds_bootstrap_grpc.cc )
s.files += %w( src/core/xds/grpc/xds_bootstrap_grpc.h )
s.files += %w( src/core/xds/grpc/xds_certificate_provider.cc )
s.files += %w( src/core/xds/grpc/xds_certificate_provider.h )
s.files += %w( src/core/xds/grpc/xds_client_grpc.cc )
s.files += %w( src/core/xds/grpc/xds_client_grpc.h )
s.files += %w( src/core/xds/grpc/xds_cluster.cc )
s.files += %w( src/core/xds/grpc/xds_cluster.h )
s.files += %w( src/core/xds/grpc/xds_cluster_specifier_plugin.cc )
s.files += %w( src/core/xds/grpc/xds_cluster_specifier_plugin.h )
s.files += %w( src/core/xds/grpc/xds_common_types.cc )
s.files += %w( src/core/xds/grpc/xds_common_types.h )
s.files += %w( src/core/xds/grpc/xds_endpoint.cc )
s.files += %w( src/core/xds/grpc/xds_endpoint.h )
s.files += %w( src/core/xds/grpc/xds_health_status.cc )
s.files += %w( src/core/xds/grpc/xds_health_status.h )
s.files += %w( src/core/xds/grpc/xds_http_fault_filter.cc )
s.files += %w( src/core/xds/grpc/xds_http_fault_filter.h )
s.files += %w( src/core/xds/grpc/xds_http_filters.cc )
s.files += %w( src/core/xds/grpc/xds_http_filters.h )
s.files += %w( src/core/xds/grpc/xds_http_rbac_filter.cc )
s.files += %w( src/core/xds/grpc/xds_http_rbac_filter.h )
s.files += %w( src/core/xds/grpc/xds_http_stateful_session_filter.cc )
s.files += %w( src/core/xds/grpc/xds_http_stateful_session_filter.h )
s.files += %w( src/core/xds/grpc/xds_lb_policy_registry.cc )
s.files += %w( src/core/xds/grpc/xds_lb_policy_registry.h )
s.files += %w( src/core/xds/grpc/xds_listener.cc )
s.files += %w( src/core/xds/grpc/xds_listener.h )
s.files += %w( src/core/xds/grpc/xds_route_config.cc )
s.files += %w( src/core/xds/grpc/xds_route_config.h )
s.files += %w( src/core/xds/grpc/xds_routing.cc )
s.files += %w( src/core/xds/grpc/xds_routing.h )
s.files += %w( src/core/xds/grpc/xds_transport_grpc.cc )
s.files += %w( src/core/xds/grpc/xds_transport_grpc.h )
s.files += %w( src/core/xds/xds_client/xds_api.cc )
s.files += %w( src/core/xds/xds_client/xds_api.h )
s.files += %w( src/core/xds/xds_client/xds_bootstrap.cc )
s.files += %w( src/core/xds/xds_client/xds_bootstrap.h )
s.files += %w( src/core/xds/xds_client/xds_channel_args.h )
s.files += %w( src/core/xds/xds_client/xds_client.cc )
s.files += %w( src/core/xds/xds_client/xds_client.h )
s.files += %w( src/core/xds/xds_client/xds_client_stats.cc )
s.files += %w( src/core/xds/xds_client/xds_client_stats.h )
s.files += %w( src/core/xds/xds_client/xds_metrics.h )
s.files += %w( src/core/xds/xds_client/xds_resource_type.h )
s.files += %w( src/core/xds/xds_client/xds_resource_type_impl.h )
s.files += %w( src/core/xds/xds_client/xds_transport.h )
s.files += %w( third_party/abseil-cpp/absl/algorithm/algorithm.h ) s.files += %w( third_party/abseil-cpp/absl/algorithm/algorithm.h )
s.files += %w( third_party/abseil-cpp/absl/algorithm/container.h ) s.files += %w( third_party/abseil-cpp/absl/algorithm/container.h )
s.files += %w( third_party/abseil-cpp/absl/base/attributes.h ) s.files += %w( third_party/abseil-cpp/absl/base/attributes.h )
@ -2177,13 +2180,9 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc ) s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc )
s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.h ) s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.h )
s.files += %w( third_party/abseil-cpp/absl/log/absl_vlog_is_on.h ) s.files += %w( third_party/abseil-cpp/absl/log/absl_vlog_is_on.h )
s.files += %w( third_party/abseil-cpp/absl/log/check.h )
s.files += %w( third_party/abseil-cpp/absl/log/globals.cc ) s.files += %w( third_party/abseil-cpp/absl/log/globals.cc )
s.files += %w( third_party/abseil-cpp/absl/log/globals.h ) s.files += %w( third_party/abseil-cpp/absl/log/globals.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/append_truncated.h ) s.files += %w( third_party/abseil-cpp/absl/log/internal/append_truncated.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/check_impl.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/check_op.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/check_op.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.cc ) s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.h ) s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/config.h ) s.files += %w( third_party/abseil-cpp/absl/log/internal/config.h )
@ -2449,6 +2448,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/address_sorting/address_sorting_posix.c ) s.files += %w( third_party/address_sorting/address_sorting_posix.c )
s.files += %w( third_party/address_sorting/address_sorting_windows.c ) s.files += %w( third_party/address_sorting/address_sorting_windows.c )
s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h ) s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h )
s.files += %w( third_party/boringssl-with-bazel/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c )
@ -2515,6 +2515,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c )
@ -2537,8 +2538,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/internal.h )
@ -2555,8 +2554,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c )
@ -2727,6 +2724,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/address.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/address.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/params.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/params.h )
@ -2818,7 +2816,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_val.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_val.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c )
s.files += %w( third_party/boringssl-with-bazel/src/gen/crypto/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aead.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aead.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aes.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aes.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h )
@ -2859,15 +2856,13 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hpke.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hpke.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hrss.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hrss.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kdf.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kdf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kyber.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/lhash.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/lhash.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md4.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md4.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md5.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md5.h )
@ -2883,6 +2878,8 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/poly1305.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/poly1305.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pool.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pool.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/posix_time.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/posix_time.h )
@ -2931,7 +2928,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_file.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_file.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc )

2669
grpc.gyp

File diff suppressed because it is too large Load Diff

View File

@ -93,7 +93,7 @@ typedef struct {
const char* actor_token_type; /* Optional. */ const char* actor_token_type; /* Optional. */
} grpc_sts_credentials_options; } grpc_sts_credentials_options;
/** Creates an STS credentials following the STS Token Exchanged specified in /** Creates an STS credentials following the STS Token Exchanged specifi ed in
the IETF draft the IETF draft
https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16. This API is https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16. This API is
used for experimental purposes for now and may change in the future. */ used for experimental purposes for now and may change in the future. */

View File

@ -132,6 +132,8 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
struct TaskHandle { struct TaskHandle {
intptr_t keys[2]; intptr_t keys[2];
static const GRPC_DLL TaskHandle kInvalid; static const GRPC_DLL TaskHandle kInvalid;
friend bool operator==(const TaskHandle& lhs, const TaskHandle& rhs);
friend bool operator!=(const TaskHandle& lhs, const TaskHandle& rhs);
}; };
/// A handle to a cancellable connection attempt. /// A handle to a cancellable connection attempt.
/// ///
@ -139,6 +141,10 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
struct ConnectionHandle { struct ConnectionHandle {
intptr_t keys[2]; intptr_t keys[2];
static const GRPC_DLL ConnectionHandle kInvalid; static const GRPC_DLL ConnectionHandle kInvalid;
friend bool operator==(const ConnectionHandle& lhs,
const ConnectionHandle& rhs);
friend bool operator!=(const ConnectionHandle& lhs,
const ConnectionHandle& rhs);
}; };
/// Thin wrapper around a platform-specific sockaddr type. A sockaddr struct /// Thin wrapper around a platform-specific sockaddr type. A sockaddr struct
/// exists on all platforms that gRPC supports. /// exists on all platforms that gRPC supports.
@ -490,19 +496,6 @@ void EventEngineFactoryReset();
/// Create an EventEngine using the default factory. /// Create an EventEngine using the default factory.
std::unique_ptr<EventEngine> CreateEventEngine(); std::unique_ptr<EventEngine> CreateEventEngine();
bool operator==(const EventEngine::TaskHandle& lhs,
const EventEngine::TaskHandle& rhs);
bool operator!=(const EventEngine::TaskHandle& lhs,
const EventEngine::TaskHandle& rhs);
std::ostream& operator<<(std::ostream& out,
const EventEngine::TaskHandle& handle);
bool operator==(const EventEngine::ConnectionHandle& lhs,
const EventEngine::ConnectionHandle& rhs);
bool operator!=(const EventEngine::ConnectionHandle& lhs,
const EventEngine::ConnectionHandle& rhs);
std::ostream& operator<<(std::ostream& out,
const EventEngine::ConnectionHandle& handle);
} // namespace experimental } // namespace experimental
} // namespace grpc_event_engine } // namespace grpc_event_engine

View File

@ -67,6 +67,9 @@
application will see the compressed message in the byte buffer. */ application will see the compressed message in the byte buffer. */
#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \ #define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \
"grpc.per_message_decompression" "grpc.per_message_decompression"
/** Enable/disable support for deadline checking. Defaults to 1, unless
GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */
#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking"
/** Initial stream ID for http2 transports. Int valued. */ /** Initial stream ID for http2 transports. Int valued. */
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \ #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
"grpc.http2.initial_sequence_number" "grpc.http2.initial_sequence_number"
@ -111,11 +114,9 @@
"grpc.server_max_unrequested_time_in_server" "grpc.server_max_unrequested_time_in_server"
/** Channel arg to override the http2 :scheme header */ /** Channel arg to override the http2 :scheme header */
#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme" #define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
/** How many pings can the client send before needing to send a data/header /** How many pings can the client send before needing to send a
frame? (0 indicates that an infinite number of pings can be sent without data/header frame? (0 indicates that an infinite number of
sending a data frame or header frame). pings can be sent without sending a data frame or header frame) */
If experiment "max_pings_wo_data_throttle" is enabled, instead of pings being
completely blocked, they are throttled. */
#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \ #define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \
"grpc.http2.max_pings_without_data" "grpc.http2.max_pings_without_data"
/** How many misbehaving pings the server can bear before sending goaway and /** How many misbehaving pings the server can bear before sending goaway and
@ -398,8 +399,6 @@
* If unspecified, it is unlimited */ * If unspecified, it is unlimited */
#define GRPC_ARG_MAX_ALLOWED_INCOMING_CONNECTIONS \ #define GRPC_ARG_MAX_ALLOWED_INCOMING_CONNECTIONS \
"grpc.max_allowed_incoming_connections" "grpc.max_allowed_incoming_connections"
/** Configure per-channel or per-server stats plugins. */
#define GRPC_ARG_EXPERIMENTAL_STATS_PLUGINS "grpc.experimental.stats_plugins"
/** \} */ /** \} */
#endif /* GRPC_IMPL_CHANNEL_ARG_NAMES_H */ #endif /* GRPC_IMPL_CHANNEL_ARG_NAMES_H */

View File

@ -38,7 +38,6 @@ header "byte_buffer.h"
header "impl/propagation_bits.h" header "impl/propagation_bits.h"
header "impl/slice_type.h" header "impl/slice_type.h"
header "load_reporting.h" header "load_reporting.h"
header "passive_listener.h"
header "slice.h" header "slice.h"
header "slice_buffer.h" header "slice_buffer.h"
header "status.h" header "status.h"

View File

@ -1,62 +0,0 @@
// Copyright 2024 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.
#ifndef GRPC_PASSIVE_LISTENER_H
#define GRPC_PASSIVE_LISTENER_H
#include <memory>
#include <grpc/event_engine/event_engine.h>
#include <grpc/grpc.h>
// #include <grpc/support/port_platform.h>
namespace grpc_core {
class Server;
namespace experimental {
class PassiveListenerImpl;
/// -- EXPERIMENTAL API --
/// Interface for used for Server Endpoint injection.
class PassiveListener {
public:
virtual ~PassiveListener() = default;
/// -- EXPERIMENTAL API --
///
/// Takes an Endpoint for an established connection, and treats it as if the
/// connection had been accepted by the server.
///
/// The server must be started before endpoints can be accepted.
virtual absl::Status AcceptConnectedEndpoint(
std::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint>
endpoint) = 0;
/// -- EXPERIMENTAL API --
///
/// Takes a connected file descriptor, and treats it as if the server had
/// accepted the connection itself.
///
/// Returns a failure status if the server's active EventEngine does not
/// support Endpoint creation from fds.
virtual absl::Status AcceptConnectedFd(int fd) = 0;
};
} // namespace experimental
} // namespace grpc_core
absl::Status grpc_server_add_passive_listener(
grpc_core::Server* server, grpc_server_credentials* credentials,
std::shared_ptr<grpc_core::experimental::PassiveListenerImpl>
passive_listener);
#endif /* GRPC_PASSIVE_LISTENER_H */

View File

@ -82,7 +82,6 @@ struct gpr_log_func_args {
typedef struct gpr_log_func_args gpr_log_func_args; typedef struct gpr_log_func_args gpr_log_func_args;
typedef void (*gpr_log_func)(gpr_log_func_args* args); typedef void (*gpr_log_func)(gpr_log_func_args* args);
GPRAPI void gpr_set_log_function(gpr_log_func func); GPRAPI void gpr_set_log_function(gpr_log_func func);
GPRAPI void gpr_assertion_failed(const char* filename, int line, GPRAPI void gpr_assertion_failed(const char* filename, int line,
@ -100,6 +99,12 @@ GPRAPI void gpr_assertion_failed(const char* filename, int line,
} \ } \
} while (0) } while (0)
#ifndef NDEBUG
#define GPR_DEBUG_ASSERT(x) GPR_ASSERT(x)
#else
#define GPR_DEBUG_ASSERT(x) GPR_ASSERT(true || (x))
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -272,9 +272,6 @@
#define GPR_PLATFORM_STRING "ios" #define GPR_PLATFORM_STRING "ios"
#define GPR_CPU_IPHONE 1 #define GPR_CPU_IPHONE 1
#define GRPC_CFSTREAM 1 #define GRPC_CFSTREAM 1
#ifndef GRPC_IOS_EVENT_ENGINE_CLIENT
#define GRPC_IOS_EVENT_ENGINE_CLIENT 1
#endif /* GRPC_IOS_EVENT_ENGINE_CLIENT */
/* the c-ares resolver isn't safe to enable on iOS */ /* the c-ares resolver isn't safe to enable on iOS */
#define GRPC_ARES 0 #define GRPC_ARES 0
#else /* TARGET_OS_IPHONE */ #else /* TARGET_OS_IPHONE */

View File

@ -38,8 +38,6 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include "absl/log/absl_check.h"
#include <grpc/impl/compression_types.h> #include <grpc/impl/compression_types.h>
#include <grpc/impl/propagation_bits.h> #include <grpc/impl/propagation_bits.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -248,7 +246,7 @@ class ClientContext {
/// \return A multimap of initial metadata key-value pairs from the server. /// \return A multimap of initial metadata key-value pairs from the server.
const std::multimap<grpc::string_ref, grpc::string_ref>& const std::multimap<grpc::string_ref, grpc::string_ref>&
GetServerInitialMetadata() const { GetServerInitialMetadata() const {
ABSL_CHECK(initial_metadata_received_); GPR_ASSERT(initial_metadata_received_);
return *recv_initial_metadata_.map(); return *recv_initial_metadata_.map();
} }

View File

@ -34,8 +34,6 @@
#include <list> #include <list>
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/support/atm.h> #include <grpc/support/atm.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -325,7 +323,7 @@ class CompletionQueue : private grpc::internal::GrpcLibrary {
bool ok = ev.success != 0; bool ok = ev.success != 0;
void* ignored = tag; void* ignored = tag;
if (tag->FinalizeResult(&ignored, &ok)) { if (tag->FinalizeResult(&ignored, &ok)) {
ABSL_CHECK(ignored == tag); GPR_ASSERT(ignored == tag);
return ok; return ok;
} }
} }
@ -346,7 +344,7 @@ class CompletionQueue : private grpc::internal::GrpcLibrary {
bool ok = ev.success != 0; bool ok = ev.success != 0;
void* ignored = tag; void* ignored = tag;
// the tag must be swallowed if using TryPluck // the tag must be swallowed if using TryPluck
ABSL_CHECK(!tag->FinalizeResult(&ignored, &ok)); GPR_ASSERT(!tag->FinalizeResult(&ignored, &ok));
} }
/// Performs a single polling pluck on \a tag. Calls tag->FinalizeResult if /// Performs a single polling pluck on \a tag. Calls tag->FinalizeResult if
@ -363,7 +361,7 @@ class CompletionQueue : private grpc::internal::GrpcLibrary {
bool ok = ev.success != 0; bool ok = ev.success != 0;
void* ignored = tag; void* ignored = tag;
ABSL_CHECK(!tag->FinalizeResult(&ignored, &ok)); GPR_ASSERT(!tag->FinalizeResult(&ignored, &ok));
} }
/// Manage state of avalanching operations : completion queue tags that /// Manage state of avalanching operations : completion queue tags that

View File

@ -26,18 +26,17 @@
#include "absl/functional/any_invocable.h" #include "absl/functional/any_invocable.h"
#include "absl/status/status.h" #include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h" #include "absl/strings/string_view.h"
#include "opentelemetry/metrics/meter_provider.h" #include "opentelemetry/metrics/meter_provider.h"
#include <grpc/support/metrics.h> #include <grpc/support/metrics.h>
#include <grpc/support/port_platform.h> #include <grpc/support/port_platform.h>
#include <grpcpp/server_builder.h>
#include <grpcpp/support/channel_arguments.h>
namespace grpc { namespace grpc {
namespace internal { namespace internal {
class OpenTelemetryPluginBuilderImpl; class OpenTelemetryPluginBuilderImpl;
class OpenTelemetryPlugin;
} // namespace internal } // namespace internal
class OpenTelemetryPluginOption { class OpenTelemetryPluginOption {
@ -45,21 +44,6 @@ class OpenTelemetryPluginOption {
virtual ~OpenTelemetryPluginOption() = default; virtual ~OpenTelemetryPluginOption() = default;
}; };
namespace experimental {
/// EXPERIMENTAL API
class OpenTelemetryPlugin {
public:
virtual ~OpenTelemetryPlugin() = default;
/// EXPERIMENTAL API
/// Adds this OpenTelemetryPlugin to the channel args \a args.
virtual void AddToChannelArguments(grpc::ChannelArguments* args) = 0;
/// EXPERIMENTAL API
/// Adds this OpenTelemetryPlugin to the channel arguments that will be used
/// to create the server through \a builder.
virtual void AddToServerBuilder(grpc::ServerBuilder* builder) = 0;
};
} // namespace experimental
/// The most common way to use this API is - /// The most common way to use this API is -
/// ///
/// OpenTelemetryPluginBuilder().SetMeterProvider(provider).BuildAndRegister(); /// OpenTelemetryPluginBuilder().SetMeterProvider(provider).BuildAndRegister();
@ -104,33 +88,19 @@ class OpenTelemetryPluginBuilder {
/// If `SetMeterProvider()` is not called, no metrics are collected. /// If `SetMeterProvider()` is not called, no metrics are collected.
OpenTelemetryPluginBuilder& SetMeterProvider( OpenTelemetryPluginBuilder& SetMeterProvider(
std::shared_ptr<opentelemetry::metrics::MeterProvider> meter_provider); std::shared_ptr<opentelemetry::metrics::MeterProvider> meter_provider);
/// DEPRECATED: If set, \a target_attribute_filter is called per channel to /// If set, \a target_attribute_filter is called per channel to decide whether
/// decide whether to record the target attribute on client or to replace it /// to record the target attribute on client or to replace it with "other".
/// with "other". This helps reduce the cardinality on metrics in cases where /// This helps reduce the cardinality on metrics in cases where many channels
/// many channels are created with different targets in the same binary (which /// are created with different targets in the same binary (which might happen
/// might happen for example, if the channel target string uses IP addresses /// for example, if the channel target string uses IP addresses directly).
/// directly).
/// This filtration only works for the per-call metrics -
/// grpc.client.attempt.started
/// grpc.client.attempt.duration
/// grpc.client.attempt.sent_total_compressed_message_size
/// grpc.client.attempt.rcvd_total_compressed_message_size
/// For example, the grpc.target attribute on pick first lb policy metrics
/// defined in
/// https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md
/// will not be filtered. Please contact the grpc team if this filtration is
/// of interest to you.
GRPC_DEPRECATED(
"Does not work as expected. Please raise an issue on "
"https://github.com/grpc/grpc if this would be of use to you.")
OpenTelemetryPluginBuilder& SetTargetAttributeFilter( OpenTelemetryPluginBuilder& SetTargetAttributeFilter(
absl::AnyInvocable<bool(absl::string_view /*target*/) const> absl::AnyInvocable<bool(absl::string_view /*target*/) const>
target_attribute_filter); target_attribute_filter);
/// If set, \a generic_method_attribute_filter is called per call with a /// If set, \a generic_method_attribute_filter is called per call with a
/// generic method type to decide whether to record the method name or to /// generic method type to decide whether to record the method name or to
/// replace it with "other". Non-generic or pre-registered methods remain /// replace it with "other". Non-generic or pre-registered methods remain
/// unaffected. If not set, by default, generic method names are replaced /// unaffected. If not set, by default, generic method names are replaced with
/// with "other" when recording metrics. /// "other" when recording metrics.
OpenTelemetryPluginBuilder& SetGenericMethodAttributeFilter( OpenTelemetryPluginBuilder& SetGenericMethodAttributeFilter(
absl::AnyInvocable<bool(absl::string_view /*generic_method*/) const> absl::AnyInvocable<bool(absl::string_view /*generic_method*/) const>
generic_method_attribute_filter); generic_method_attribute_filter);
@ -155,16 +125,9 @@ class OpenTelemetryPluginBuilder {
OpenTelemetryPluginBuilder& SetChannelScopeFilter( OpenTelemetryPluginBuilder& SetChannelScopeFilter(
absl::AnyInvocable<bool(const ChannelScope& /*scope*/) const> absl::AnyInvocable<bool(const ChannelScope& /*scope*/) const>
channel_scope_filter); channel_scope_filter);
/// Builds and registers a global plugin that acts on all channels and servers /// Registers a global plugin that acts on all channels and servers running on
/// running on the process. Must be called no more than once and must not be /// the process.
/// called if Build() is called.
absl::Status BuildAndRegisterGlobal(); absl::Status BuildAndRegisterGlobal();
/// EXPERIMENTAL API
/// Builds an open telemetry plugin, returns the plugin object when succeeded
/// or an error status when failed. Must be called no more than once and must
/// not be called if BuildAndRegisterGlobal() is called.
GRPC_MUST_USE_RESULT
absl::StatusOr<std::shared_ptr<experimental::OpenTelemetryPlugin>> Build();
private: private:
std::unique_ptr<internal::OpenTelemetryPluginBuilderImpl> impl_; std::unique_ptr<internal::OpenTelemetryPluginBuilderImpl> impl_;

View File

@ -23,14 +23,12 @@
#include <map> #include <map>
#include <memory> #include <memory>
#include "absl/log/absl_check.h"
#include "absl/log/absl_log.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/impl/compression_types.h> #include <grpc/impl/compression_types.h>
#include <grpc/impl/grpc_types.h> #include <grpc/impl/grpc_types.h>
#include <grpc/slice.h> #include <grpc/slice.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpcpp/client_context.h> #include <grpcpp/client_context.h>
#include <grpcpp/completion_queue.h> #include <grpcpp/completion_queue.h>
#include <grpcpp/impl/call.h> #include <grpcpp/impl/call.h>
@ -318,7 +316,7 @@ class CallOpSendMessage {
return; return;
} }
if (msg_ != nullptr) { if (msg_ != nullptr) {
ABSL_CHECK(serializer_(msg_).ok()); GPR_ASSERT(serializer_(msg_).ok());
} }
serializer_ = nullptr; serializer_ = nullptr;
grpc_op* op = &ops[(*nops)++]; grpc_op* op = &ops[(*nops)++];
@ -771,9 +769,7 @@ class CallOpRecvInitialMetadata {
class CallOpClientRecvStatus { class CallOpClientRecvStatus {
public: public:
CallOpClientRecvStatus() CallOpClientRecvStatus()
: metadata_map_(nullptr), : recv_status_(nullptr), debug_error_string_(nullptr) {}
recv_status_(nullptr),
debug_error_string_(nullptr) {}
void ClientRecvStatus(grpc::ClientContext* context, Status* status) { void ClientRecvStatus(grpc::ClientContext* context, Status* status) {
client_context_ = context; client_context_ = context;
@ -799,7 +795,7 @@ class CallOpClientRecvStatus {
if (recv_status_ == nullptr || hijacked_) return; if (recv_status_ == nullptr || hijacked_) return;
if (static_cast<StatusCode>(status_code_) == StatusCode::OK) { if (static_cast<StatusCode>(status_code_) == StatusCode::OK) {
*recv_status_ = Status(); *recv_status_ = Status();
ABSL_DCHECK_EQ(debug_error_string_, nullptr); GPR_DEBUG_ASSERT(debug_error_string_ == nullptr);
} else { } else {
*recv_status_ = *recv_status_ =
Status(static_cast<StatusCode>(status_code_), Status(static_cast<StatusCode>(status_code_),
@ -976,9 +972,9 @@ class CallOpSet : public CallOpSetInterface,
// A failure here indicates an API misuse; for example, doing a Write // A failure here indicates an API misuse; for example, doing a Write
// while another Write is already pending on the same RPC or invoking // while another Write is already pending on the same RPC or invoking
// WritesDone multiple times // WritesDone multiple times
ABSL_LOG(ERROR) << "API misuse of type " << grpc_call_error_to_string(err) gpr_log(GPR_ERROR, "API misuse of type %s observed",
<< " observed"; grpc_call_error_to_string(err));
ABSL_CHECK(false); GPR_ASSERT(false);
} }
} }
@ -988,7 +984,7 @@ class CallOpSet : public CallOpSetInterface,
done_intercepting_ = true; done_intercepting_ = true;
// The following call_start_batch is internally-generated so no need for an // The following call_start_batch is internally-generated so no need for an
// explanatory log on failure. // explanatory log on failure.
ABSL_CHECK(grpc_call_start_batch(call_.call(), nullptr, 0, core_cq_tag(), GPR_ASSERT(grpc_call_start_batch(call_.call(), nullptr, 0, core_cq_tag(),
nullptr) == GRPC_CALL_OK); nullptr) == GRPC_CALL_OK);
} }

View File

@ -22,8 +22,6 @@
#include <array> #include <array>
#include <functional> #include <functional>
#include "absl/log/absl_check.h"
#include <grpc/impl/grpc_types.h> #include <grpc/impl/grpc_types.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpcpp/impl/call.h> #include <grpcpp/impl/call.h>
@ -58,16 +56,16 @@ class InterceptorBatchMethodsImpl
if (call_->client_rpc_info() != nullptr) { if (call_->client_rpc_info() != nullptr) {
return ProceedClient(); return ProceedClient();
} }
ABSL_CHECK_NE(call_->server_rpc_info(), nullptr); GPR_ASSERT(call_->server_rpc_info() != nullptr);
ProceedServer(); ProceedServer();
} }
void Hijack() override { void Hijack() override {
// Only the client can hijack when sending down initial metadata // Only the client can hijack when sending down initial metadata
ABSL_CHECK(!reverse_ && ops_ != nullptr && GPR_ASSERT(!reverse_ && ops_ != nullptr &&
call_->client_rpc_info() != nullptr); call_->client_rpc_info() != nullptr);
// It is illegal to call Hijack twice // It is illegal to call Hijack twice
ABSL_CHECK(!ran_hijacking_interceptor_); GPR_ASSERT(!ran_hijacking_interceptor_);
auto* rpc_info = call_->client_rpc_info(); auto* rpc_info = call_->client_rpc_info();
rpc_info->hijacked_ = true; rpc_info->hijacked_ = true;
rpc_info->hijacked_interceptor_ = current_interceptor_index_; rpc_info->hijacked_interceptor_ = current_interceptor_index_;
@ -82,21 +80,21 @@ class InterceptorBatchMethodsImpl
} }
ByteBuffer* GetSerializedSendMessage() override { ByteBuffer* GetSerializedSendMessage() override {
ABSL_CHECK_NE(orig_send_message_, nullptr); GPR_ASSERT(orig_send_message_ != nullptr);
if (*orig_send_message_ != nullptr) { if (*orig_send_message_ != nullptr) {
ABSL_CHECK(serializer_(*orig_send_message_).ok()); GPR_ASSERT(serializer_(*orig_send_message_).ok());
*orig_send_message_ = nullptr; *orig_send_message_ = nullptr;
} }
return send_message_; return send_message_;
} }
const void* GetSendMessage() override { const void* GetSendMessage() override {
ABSL_CHECK_NE(orig_send_message_, nullptr); GPR_ASSERT(orig_send_message_ != nullptr);
return *orig_send_message_; return *orig_send_message_;
} }
void ModifySendMessage(const void* message) override { void ModifySendMessage(const void* message) override {
ABSL_CHECK_NE(orig_send_message_, nullptr); GPR_ASSERT(orig_send_message_ != nullptr);
*orig_send_message_ = message; *orig_send_message_ = message;
} }
@ -131,7 +129,7 @@ class InterceptorBatchMethodsImpl
Status* GetRecvStatus() override { return recv_status_; } Status* GetRecvStatus() override { return recv_status_; }
void FailHijackedSendMessage() override { void FailHijackedSendMessage() override {
ABSL_CHECK(hooks_[static_cast<size_t>( GPR_ASSERT(hooks_[static_cast<size_t>(
experimental::InterceptionHookPoints::PRE_SEND_MESSAGE)]); experimental::InterceptionHookPoints::PRE_SEND_MESSAGE)]);
*fail_send_message_ = true; *fail_send_message_ = true;
} }
@ -194,7 +192,7 @@ class InterceptorBatchMethodsImpl
} }
void FailHijackedRecvMessage() override { void FailHijackedRecvMessage() override {
ABSL_CHECK(hooks_[static_cast<size_t>( GPR_ASSERT(hooks_[static_cast<size_t>(
experimental::InterceptionHookPoints::PRE_RECV_MESSAGE)]); experimental::InterceptionHookPoints::PRE_RECV_MESSAGE)]);
*hijacked_recv_message_failed_ = true; *hijacked_recv_message_failed_ = true;
} }
@ -238,7 +236,7 @@ class InterceptorBatchMethodsImpl
// ContinueFinalizeOpsAfterInterception will be called. Note that neither of // ContinueFinalizeOpsAfterInterception will be called. Note that neither of
// them is invoked if there were no interceptors registered. // them is invoked if there were no interceptors registered.
bool RunInterceptors() { bool RunInterceptors() {
ABSL_CHECK(ops_); GPR_ASSERT(ops_);
auto* client_rpc_info = call_->client_rpc_info(); auto* client_rpc_info = call_->client_rpc_info();
if (client_rpc_info != nullptr) { if (client_rpc_info != nullptr) {
if (client_rpc_info->interceptors_.empty()) { if (client_rpc_info->interceptors_.empty()) {
@ -263,8 +261,8 @@ class InterceptorBatchMethodsImpl
// SyncRequest. // SyncRequest.
bool RunInterceptors(std::function<void(void)> f) { bool RunInterceptors(std::function<void(void)> f) {
// This is used only by the server for initial call request // This is used only by the server for initial call request
ABSL_CHECK_EQ(reverse_, true); GPR_ASSERT(reverse_ == true);
ABSL_CHECK_EQ(call_->client_rpc_info(), nullptr); GPR_ASSERT(call_->client_rpc_info() == nullptr);
auto* server_rpc_info = call_->server_rpc_info(); auto* server_rpc_info = call_->server_rpc_info();
if (server_rpc_info == nullptr || server_rpc_info->interceptors_.empty()) { if (server_rpc_info == nullptr || server_rpc_info->interceptors_.empty()) {
return true; return true;
@ -358,7 +356,7 @@ class InterceptorBatchMethodsImpl
return ops_->ContinueFinalizeResultAfterInterception(); return ops_->ContinueFinalizeResultAfterInterception();
} }
} }
ABSL_CHECK(callback_); GPR_ASSERT(callback_);
callback_(); callback_();
} }
@ -424,103 +422,112 @@ class CancelInterceptorBatchMethods
void Hijack() override { void Hijack() override {
// Only the client can hijack when sending down initial metadata // Only the client can hijack when sending down initial metadata
ABSL_CHECK(false) << "It is illegal to call Hijack on a method which has a " GPR_ASSERT(false &&
"Cancel notification"; "It is illegal to call Hijack on a method which has a "
"Cancel notification");
} }
ByteBuffer* GetSerializedSendMessage() override { ByteBuffer* GetSerializedSendMessage() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetSendMessage on a method which " "It is illegal to call GetSendMessage on a method which "
"has a Cancel notification"; "has a Cancel notification");
return nullptr; return nullptr;
} }
bool GetSendMessageStatus() override { bool GetSendMessageStatus() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetSendMessageStatus on a method which " "It is illegal to call GetSendMessageStatus on a method which "
"has a Cancel notification"; "has a Cancel notification");
return false; return false;
} }
const void* GetSendMessage() override { const void* GetSendMessage() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetOriginalSendMessage on a method which " "It is illegal to call GetOriginalSendMessage on a method which "
"has a Cancel notification"; "has a Cancel notification");
return nullptr; return nullptr;
} }
void ModifySendMessage(const void* /*message*/) override { void ModifySendMessage(const void* /*message*/) override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call ModifySendMessage on a method which " "It is illegal to call ModifySendMessage on a method which "
"has a Cancel notification"; "has a Cancel notification");
} }
std::multimap<std::string, std::string>* GetSendInitialMetadata() override { std::multimap<std::string, std::string>* GetSendInitialMetadata() override {
ABSL_CHECK(false) << "It is illegal to call GetSendInitialMetadata on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call GetSendInitialMetadata on a "
"method which has a Cancel notification");
return nullptr; return nullptr;
} }
Status GetSendStatus() override { Status GetSendStatus() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetSendStatus on a method which " "It is illegal to call GetSendStatus on a method which "
"has a Cancel notification"; "has a Cancel notification");
return Status(); return Status();
} }
void ModifySendStatus(const Status& /*status*/) override { void ModifySendStatus(const Status& /*status*/) override {
ABSL_CHECK(false) << "It is illegal to call ModifySendStatus on a method " GPR_ASSERT(false &&
"which has a Cancel notification"; "It is illegal to call ModifySendStatus on a method "
"which has a Cancel notification");
} }
std::multimap<std::string, std::string>* GetSendTrailingMetadata() override { std::multimap<std::string, std::string>* GetSendTrailingMetadata() override {
ABSL_CHECK(false) << "It is illegal to call GetSendTrailingMetadata on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call GetSendTrailingMetadata on a "
"method which has a Cancel notification");
return nullptr; return nullptr;
} }
void* GetRecvMessage() override { void* GetRecvMessage() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetRecvMessage on a method which " "It is illegal to call GetRecvMessage on a method which "
"has a Cancel notification"; "has a Cancel notification");
return nullptr; return nullptr;
} }
std::multimap<grpc::string_ref, grpc::string_ref>* GetRecvInitialMetadata() std::multimap<grpc::string_ref, grpc::string_ref>* GetRecvInitialMetadata()
override { override {
ABSL_CHECK(false) << "It is illegal to call GetRecvInitialMetadata on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call GetRecvInitialMetadata on a "
"method which has a Cancel notification");
return nullptr; return nullptr;
} }
Status* GetRecvStatus() override { Status* GetRecvStatus() override {
ABSL_CHECK(false) GPR_ASSERT(false &&
<< "It is illegal to call GetRecvStatus on a method which " "It is illegal to call GetRecvStatus on a method which "
"has a Cancel notification"; "has a Cancel notification");
return nullptr; return nullptr;
} }
std::multimap<grpc::string_ref, grpc::string_ref>* GetRecvTrailingMetadata() std::multimap<grpc::string_ref, grpc::string_ref>* GetRecvTrailingMetadata()
override { override {
ABSL_CHECK(false) << "It is illegal to call GetRecvTrailingMetadata on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call GetRecvTrailingMetadata on a "
"method which has a Cancel notification");
return nullptr; return nullptr;
} }
std::unique_ptr<ChannelInterface> GetInterceptedChannel() override { std::unique_ptr<ChannelInterface> GetInterceptedChannel() override {
ABSL_CHECK(false) << "It is illegal to call GetInterceptedChannel on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call GetInterceptedChannel on a "
"method which has a Cancel notification");
return std::unique_ptr<ChannelInterface>(nullptr); return std::unique_ptr<ChannelInterface>(nullptr);
} }
void FailHijackedRecvMessage() override { void FailHijackedRecvMessage() override {
ABSL_CHECK(false) << "It is illegal to call FailHijackedRecvMessage on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call FailHijackedRecvMessage on a "
"method which has a Cancel notification");
} }
void FailHijackedSendMessage() override { void FailHijackedSendMessage() override {
ABSL_CHECK(false) << "It is illegal to call FailHijackedSendMessage on a " GPR_ASSERT(false &&
"method which has a Cancel notification"; "It is illegal to call FailHijackedSendMessage on a "
"method which has a Cancel notification");
} }
}; };
} // namespace internal } // namespace internal

View File

@ -21,8 +21,6 @@
#include <type_traits> #include <type_traits>
#include "absl/log/absl_check.h"
#include <grpc/byte_buffer_reader.h> #include <grpc/byte_buffer_reader.h>
#include <grpc/impl/grpc_types.h> #include <grpc/impl/grpc_types.h>
#include <grpc/slice.h> #include <grpc/slice.h>
@ -53,7 +51,7 @@ Status GenericSerialize(const grpc::protobuf::MessageLite& msg, ByteBuffer* bb,
if (static_cast<size_t>(byte_size) <= GRPC_SLICE_INLINED_SIZE) { if (static_cast<size_t>(byte_size) <= GRPC_SLICE_INLINED_SIZE) {
Slice slice(byte_size); Slice slice(byte_size);
// We serialize directly into the allocated slices memory // We serialize directly into the allocated slices memory
ABSL_CHECK(slice.end() == msg.SerializeWithCachedSizesToArray( GPR_ASSERT(slice.end() == msg.SerializeWithCachedSizesToArray(
const_cast<uint8_t*>(slice.begin()))); const_cast<uint8_t*>(slice.begin())));
ByteBuffer tmp(&slice, 1); ByteBuffer tmp(&slice, 1);
bb->Swap(&tmp); bb->Swap(&tmp);

View File

@ -25,9 +25,7 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include "absl/log/absl_check.h" #include <grpc/support/log.h>
#include "absl/log/absl_log.h"
#include <grpcpp/impl/rpc_method.h> #include <grpcpp/impl/rpc_method.h>
#include <grpcpp/support/byte_buffer.h> #include <grpcpp/support/byte_buffer.h>
#include <grpcpp/support/config.h> #include <grpcpp/support/config.h>
@ -77,7 +75,7 @@ class MethodHandler {
// retained by the handler. Returns nullptr if deserialization failed. // retained by the handler. Returns nullptr if deserialization failed.
virtual void* Deserialize(grpc_call* /*call*/, grpc_byte_buffer* req, virtual void* Deserialize(grpc_call* /*call*/, grpc_byte_buffer* req,
Status* /*status*/, void** /*handler_data*/) { Status* /*status*/, void** /*handler_data*/) {
ABSL_CHECK_EQ(req, nullptr); GPR_ASSERT(req == nullptr);
return nullptr; return nullptr;
} }
}; };
@ -116,12 +114,12 @@ class RpcServiceMethod : public RpcMethod {
// this is not an error condition, as it allows users to declare a server // this is not an error condition, as it allows users to declare a server
// like WithRawMethod_foo<AsyncService>. However since it // like WithRawMethod_foo<AsyncService>. However since it
// overwrites behavior, it should be logged. // overwrites behavior, it should be logged.
ABSL_LOG(INFO) gpr_log(
<< "You are marking method " << name() << " as '" GPR_INFO,
<< TypeToString(api_type_) "You are marking method %s as '%s', even though it was "
<< "', even though it was previously marked '" << TypeToString(type) "previously marked '%s'. This behavior will overwrite the original "
<< "'. This behavior will overwrite the original behavior. If " "behavior. If you expected this then ignore this message.",
"you expected this then ignore this message."; name(), TypeToString(api_type_), TypeToString(type));
} }
api_type_ = type; api_type_ = type;
} }

View File

@ -18,8 +18,6 @@
#ifndef GRPCPP_IMPL_SERVER_CALLBACK_HANDLERS_H #ifndef GRPCPP_IMPL_SERVER_CALLBACK_HANDLERS_H
#define GRPCPP_IMPL_SERVER_CALLBACK_HANDLERS_H #define GRPCPP_IMPL_SERVER_CALLBACK_HANDLERS_H
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/impl/call.h> #include <grpc/impl/call.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -149,7 +147,7 @@ class CallbackUnaryHandler : public grpc::internal::MethodHandler {
} }
void SendInitialMetadata() override { void SendInitialMetadata() override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
this->Ref(); this->Ref();
// The callback for this function should not be marked inline because it // The callback for this function should not be marked inline because it
// is directly invoking a user-controlled reaction // is directly invoking a user-controlled reaction
@ -337,7 +335,7 @@ class CallbackClientStreamingHandler : public grpc::internal::MethodHandler {
} }
void SendInitialMetadata() override { void SendInitialMetadata() override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
this->Ref(); this->Ref();
// The callback for this function should not be inlined because it invokes // The callback for this function should not be inlined because it invokes
// a user-controlled reaction, but any resulting OnDone can be inlined in // a user-controlled reaction, but any resulting OnDone can be inlined in
@ -541,7 +539,7 @@ class CallbackServerStreamingHandler : public grpc::internal::MethodHandler {
} }
void SendInitialMetadata() override { void SendInitialMetadata() override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
this->Ref(); this->Ref();
// The callback for this function should not be inlined because it invokes // The callback for this function should not be inlined because it invokes
// a user-controlled reaction, but any resulting OnDone can be inlined in // a user-controlled reaction, but any resulting OnDone can be inlined in
@ -579,7 +577,7 @@ class CallbackServerStreamingHandler : public grpc::internal::MethodHandler {
ctx_->sent_initial_metadata_ = true; ctx_->sent_initial_metadata_ = true;
} }
// TODO(vjpai): don't assert // TODO(vjpai): don't assert
ABSL_CHECK(write_ops_.SendMessagePtr(resp, options).ok()); GPR_ASSERT(write_ops_.SendMessagePtr(resp, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -587,7 +585,7 @@ class CallbackServerStreamingHandler : public grpc::internal::MethodHandler {
grpc::Status s) override { grpc::Status s) override {
// This combines the write into the finish callback // This combines the write into the finish callback
// TODO(vjpai): don't assert // TODO(vjpai): don't assert
ABSL_CHECK(finish_ops_.SendMessagePtr(resp, options).ok()); GPR_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
Finish(std::move(s)); Finish(std::move(s));
} }
@ -753,7 +751,7 @@ class CallbackBidiHandler : public grpc::internal::MethodHandler {
} }
void SendInitialMetadata() override { void SendInitialMetadata() override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
this->Ref(); this->Ref();
// The callback for this function should not be inlined because it invokes // The callback for this function should not be inlined because it invokes
// a user-controlled reaction, but any resulting OnDone can be inlined in // a user-controlled reaction, but any resulting OnDone can be inlined in
@ -791,14 +789,14 @@ class CallbackBidiHandler : public grpc::internal::MethodHandler {
ctx_->sent_initial_metadata_ = true; ctx_->sent_initial_metadata_ = true;
} }
// TODO(vjpai): don't assert // TODO(vjpai): don't assert
ABSL_CHECK(write_ops_.SendMessagePtr(resp, options).ok()); GPR_ASSERT(write_ops_.SendMessagePtr(resp, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
void WriteAndFinish(const ResponseType* resp, grpc::WriteOptions options, void WriteAndFinish(const ResponseType* resp, grpc::WriteOptions options,
grpc::Status s) override { grpc::Status s) override {
// TODO(vjpai): don't assert // TODO(vjpai): don't assert
ABSL_CHECK(finish_ops_.SendMessagePtr(resp, options).ok()); GPR_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
Finish(std::move(s)); Finish(std::move(s));
} }

View File

@ -19,8 +19,6 @@
#ifndef GRPCPP_IMPL_SERVICE_TYPE_H #ifndef GRPCPP_IMPL_SERVICE_TYPE_H
#define GRPCPP_IMPL_SERVICE_TYPE_H #define GRPCPP_IMPL_SERVICE_TYPE_H
#include "absl/log/absl_check.h"
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpcpp/impl/rpc_service_method.h> #include <grpcpp/impl/rpc_service_method.h>
#include <grpcpp/impl/serialization_traits.h> #include <grpcpp/impl/serialization_traits.h>
@ -152,9 +150,9 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK_NE(methods_[idx].get(), nullptr) GPR_ASSERT(methods_[idx].get() != nullptr &&
<< "Cannot mark the method as 'async' because it has already been " "Cannot mark the method as 'async' because it has already been "
"marked as 'generic'."; "marked as 'generic'.");
methods_[idx]->SetServerApiType(internal::RpcServiceMethod::ApiType::ASYNC); methods_[idx]->SetServerApiType(internal::RpcServiceMethod::ApiType::ASYNC);
} }
@ -162,9 +160,9 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK_NE(methods_[idx].get(), nullptr) GPR_ASSERT(methods_[idx].get() != nullptr &&
<< "Cannot mark the method as 'raw' because it has already " "Cannot mark the method as 'raw' because it has already "
"been marked as 'generic'."; "been marked as 'generic'.");
methods_[idx]->SetServerApiType(internal::RpcServiceMethod::ApiType::RAW); methods_[idx]->SetServerApiType(internal::RpcServiceMethod::ApiType::RAW);
} }
@ -172,9 +170,10 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK_NE(methods_[idx]->handler(), nullptr) GPR_ASSERT(
<< "Cannot mark the method as 'generic' because it has already been " methods_[idx]->handler() != nullptr &&
"marked as 'async' or 'raw'."; "Cannot mark the method as 'generic' because it has already been "
"marked as 'async' or 'raw'.");
methods_[idx].reset(); methods_[idx].reset();
} }
@ -182,8 +181,8 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK(methods_[idx] && methods_[idx]->handler()) GPR_ASSERT(methods_[idx] && methods_[idx]->handler() &&
<< "Cannot mark an async or generic method Streamed"; "Cannot mark an async or generic method Streamed");
methods_[idx]->SetHandler(streamed_method); methods_[idx]->SetHandler(streamed_method);
// From the server's point of view, streamed unary is a special // From the server's point of view, streamed unary is a special
@ -197,9 +196,10 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK_NE(methods_[idx].get(), nullptr) GPR_ASSERT(
<< "Cannot mark the method as 'callback' because it has already been " methods_[idx].get() != nullptr &&
"marked as 'generic'."; "Cannot mark the method as 'callback' because it has already been "
"marked as 'generic'.");
methods_[idx]->SetHandler(handler); methods_[idx]->SetHandler(handler);
methods_[idx]->SetServerApiType( methods_[idx]->SetServerApiType(
internal::RpcServiceMethod::ApiType::CALL_BACK); internal::RpcServiceMethod::ApiType::CALL_BACK);
@ -209,9 +209,10 @@ class Service {
// This does not have to be a hard error, however no one has approached us // This does not have to be a hard error, however no one has approached us
// with a use case yet. Please file an issue if you believe you have one. // with a use case yet. Please file an issue if you believe you have one.
size_t idx = static_cast<size_t>(index); size_t idx = static_cast<size_t>(index);
ABSL_CHECK_NE(methods_[idx].get(), nullptr) GPR_ASSERT(
<< "Cannot mark the method as 'raw callback' because it has already " methods_[idx].get() != nullptr &&
"been marked as 'generic'."; "Cannot mark the method as 'raw callback' because it has already "
"been marked as 'generic'.");
methods_[idx]->SetHandler(handler); methods_[idx]->SetHandler(handler);
methods_[idx]->SetServerApiType( methods_[idx]->SetServerApiType(
internal::RpcServiceMethod::ApiType::RAW_CALL_BACK); internal::RpcServiceMethod::ApiType::RAW_CALL_BACK);

View File

@ -27,7 +27,6 @@
#include <mutex> #include <mutex>
#include "absl/log/absl_check.h"
#include "absl/synchronization/mutex.h" #include "absl/synchronization/mutex.h"
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -106,7 +105,7 @@ class ABSL_SCOPED_LOCKABLE ReleasableMutexLock {
ReleasableMutexLock& operator=(const ReleasableMutexLock&) = delete; ReleasableMutexLock& operator=(const ReleasableMutexLock&) = delete;
void Release() ABSL_UNLOCK_FUNCTION() { void Release() ABSL_UNLOCK_FUNCTION() {
ABSL_DCHECK(!released_); GPR_DEBUG_ASSERT(!released_);
released_ = true; released_ = true;
mu_->Unlock(); mu_->Unlock();
} }

View File

@ -84,7 +84,6 @@ class ServerCredentials : private grpc::internal::GrpcLibrary {
// Needed for access to AddPortToServer. // Needed for access to AddPortToServer.
friend class Server; friend class Server;
// Needed for access to c_creds_. // Needed for access to c_creds_.
friend class ServerBuilder;
friend std::shared_ptr<ServerCredentials> grpc::XdsServerCredentials( friend std::shared_ptr<ServerCredentials> grpc::XdsServerCredentials(
const std::shared_ptr<ServerCredentials>& fallback_credentials); const std::shared_ptr<ServerCredentials>& fallback_credentials);

View File

@ -103,8 +103,6 @@ class TlsCredentialsOptions {
// call is covered by the cert that the peer presented. // call is covered by the cert that the peer presented.
// We will perform such checks by default. This should be disabled if // We will perform such checks by default. This should be disabled if
// verifiers other than the host name verifier is used. // verifiers other than the host name verifier is used.
// Deprecated: This function will be removed in the 1.66 release. This will be
// replaced by and handled within the custom verifier settings.
void set_check_call_host(bool check_call_host); void set_check_call_host(bool check_call_host);
// Deprecated in favor of set_crl_provider. The // Deprecated in favor of set_crl_provider. The
@ -113,8 +111,6 @@ class TlsCredentialsOptions {
// If set, gRPC will read all hashed x.509 CRL files in the directory and // If set, gRPC will read all hashed x.509 CRL files in the directory and
// enforce the CRL files on all TLS handshakes. Only supported for OpenSSL // enforce the CRL files on all TLS handshakes. Only supported for OpenSSL
// version > 1.1. // version > 1.1.
// Deprecated: This function will be removed in the 1.66 release. Use the
// set_crl_provider function instead.
void set_crl_directory(const std::string& path); void set_crl_directory(const std::string& path);
void set_crl_provider(std::shared_ptr<CrlProvider> crl_provider); void set_crl_provider(std::shared_ptr<CrlProvider> crl_provider);
@ -188,7 +184,6 @@ class TlsServerCredentialsOptions final : public TlsCredentialsOptions {
// WARNING: This API is extremely dangerous and should not be used. If the // WARNING: This API is extremely dangerous and should not be used. If the
// server's trust bundle is too large, then the TLS server will be unable to // server's trust bundle is too large, then the TLS server will be unable to
// form a ServerHello, and hence will be unusable. // form a ServerHello, and hence will be unusable.
// Deprecated: This function will be removed in the 1.66 release.
void set_send_client_ca_list(bool send_client_ca_list); void set_send_client_ca_list(bool send_client_ca_list);
private: private:

View File

@ -25,17 +25,13 @@
#include <vector> #include <vector>
#include <grpc/compression.h> #include <grpc/compression.h>
#include <grpc/event_engine/event_engine.h>
#include <grpc/passive_listener.h>
#include <grpc/support/cpu.h> #include <grpc/support/cpu.h>
#include <grpc/support/port_platform.h> #include <grpc/support/port_platform.h>
#include <grpc/support/workaround_list.h> #include <grpc/support/workaround_list.h>
#include <grpcpp/impl/channel_argument_option.h> #include <grpcpp/impl/channel_argument_option.h>
#include <grpcpp/impl/server_builder_option.h> #include <grpcpp/impl/server_builder_option.h>
#include <grpcpp/impl/server_builder_plugin.h> #include <grpcpp/impl/server_builder_plugin.h>
#include <grpcpp/passive_listener.h>
#include <grpcpp/security/authorization_policy_provider.h> #include <grpcpp/security/authorization_policy_provider.h>
#include <grpcpp/security/server_credentials.h>
#include <grpcpp/server.h> #include <grpcpp/server.h>
#include <grpcpp/support/config.h> #include <grpcpp/support/config.h>
#include <grpcpp/support/server_interceptor.h> #include <grpcpp/support/server_interceptor.h>
@ -295,18 +291,6 @@ class ServerBuilder {
void EnableCallMetricRecording( void EnableCallMetricRecording(
experimental::ServerMetricRecorder* server_metric_recorder = nullptr); experimental::ServerMetricRecorder* server_metric_recorder = nullptr);
// Creates a passive listener for Server Endpoint injection.
///
/// \a PasiveListener lets applications provide pre-established connections
/// to gRPC Servers. The server will behave as if it accepted the connection
/// itself on its own listening addresses.
///
/// This can be called multiple times to create passive listeners with
/// different server credentials.
ServerBuilder& AddPassiveListener(
std::shared_ptr<grpc::ServerCredentials> creds,
std::unique_ptr<grpc::experimental::PassiveListener>& passive_listener);
private: private:
ServerBuilder* builder_; ServerBuilder* builder_;
}; };
@ -380,17 +364,6 @@ class ServerBuilder {
private: private:
friend class grpc::testing::ServerBuilderPluginTest; friend class grpc::testing::ServerBuilderPluginTest;
struct UnstartedPassiveListener {
std::weak_ptr<grpc_core::experimental::PassiveListenerImpl>
passive_listener;
std::shared_ptr<grpc::ServerCredentials> credentials;
UnstartedPassiveListener(
std::weak_ptr<grpc_core::experimental::PassiveListenerImpl> listener,
std::shared_ptr<grpc::ServerCredentials> creds)
: passive_listener(std::move(listener)),
credentials(std::move(creds)) {}
};
struct SyncServerSettings { struct SyncServerSettings {
SyncServerSettings() SyncServerSettings()
: num_cqs(1), min_pollers(1), max_pollers(2), cq_timeout_msec(10000) {} : num_cqs(1), min_pollers(1), max_pollers(2), cq_timeout_msec(10000) {}
@ -415,7 +388,6 @@ class ServerBuilder {
std::vector<std::unique_ptr<grpc::ServerBuilderOption>> options_; std::vector<std::unique_ptr<grpc::ServerBuilderOption>> options_;
std::vector<std::unique_ptr<NamedService>> services_; std::vector<std::unique_ptr<NamedService>> services_;
std::vector<Port> ports_; std::vector<Port> ports_;
std::vector<UnstartedPassiveListener> unstarted_passive_listeners_;
SyncServerSettings sync_server_settings_; SyncServerSettings sync_server_settings_;

View File

@ -19,8 +19,6 @@
#ifndef GRPCPP_SERVER_INTERFACE_H #ifndef GRPCPP_SERVER_INTERFACE_H
#define GRPCPP_SERVER_INTERFACE_H #define GRPCPP_SERVER_INTERFACE_H
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/impl/grpc_types.h> #include <grpc/impl/grpc_types.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -320,7 +318,7 @@ class ServerInterface : public internal::CallHook {
grpc::CompletionQueue* call_cq, grpc::CompletionQueue* call_cq,
grpc::ServerCompletionQueue* notification_cq, void* tag, grpc::ServerCompletionQueue* notification_cq, void* tag,
Message* message) { Message* message) {
ABSL_CHECK(method); GPR_ASSERT(method);
new PayloadAsyncRequest<Message>(method, this, context, stream, call_cq, new PayloadAsyncRequest<Message>(method, this, context, stream, call_cq,
notification_cq, tag, message); notification_cq, tag, message);
} }
@ -331,7 +329,7 @@ class ServerInterface : public internal::CallHook {
grpc::CompletionQueue* call_cq, grpc::CompletionQueue* call_cq,
grpc::ServerCompletionQueue* notification_cq, grpc::ServerCompletionQueue* notification_cq,
void* tag) { void* tag) {
ABSL_CHECK(method); GPR_ASSERT(method);
new NoPayloadAsyncRequest(method, this, context, stream, call_cq, new NoPayloadAsyncRequest(method, this, context, stream, call_cq,
notification_cq, tag); notification_cq, tag);
} }

View File

@ -19,8 +19,6 @@
#ifndef GRPCPP_SUPPORT_ASYNC_STREAM_H #ifndef GRPCPP_SUPPORT_ASYNC_STREAM_H
#define GRPCPP_SUPPORT_ASYNC_STREAM_H #define GRPCPP_SUPPORT_ASYNC_STREAM_H
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpcpp/impl/call.h> #include <grpcpp/impl/call.h>
@ -202,7 +200,7 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(ClientAsyncReader)); GPR_ASSERT(size == sizeof(ClientAsyncReader));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -210,10 +208,10 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
void StartCall(void* tag) override { void StartCall(void* tag) override {
ABSL_CHECK(!started_); GPR_ASSERT(!started_);
started_ = true; started_ = true;
StartCallInternal(tag); StartCallInternal(tag);
} }
@ -227,8 +225,8 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
/// calling code can access the received metadata through the /// calling code can access the received metadata through the
/// \a ClientContext. /// \a ClientContext.
void ReadInitialMetadata(void* tag) override { void ReadInitialMetadata(void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
ABSL_CHECK(!context_->initial_metadata_received_); GPR_ASSERT(!context_->initial_metadata_received_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.RecvInitialMetadata(context_); meta_ops_.RecvInitialMetadata(context_);
@ -236,7 +234,7 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
} }
void Read(R* msg, void* tag) override { void Read(R* msg, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
read_ops_.set_output_tag(tag); read_ops_.set_output_tag(tag);
if (!context_->initial_metadata_received_) { if (!context_->initial_metadata_received_) {
read_ops_.RecvInitialMetadata(context_); read_ops_.RecvInitialMetadata(context_);
@ -251,7 +249,7 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
/// - the \a ClientContext associated with this call is updated with /// - the \a ClientContext associated with this call is updated with
/// possible initial and trailing metadata received from the server. /// possible initial and trailing metadata received from the server.
void Finish(grpc::Status* status, void* tag) override { void Finish(grpc::Status* status, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
finish_ops_.set_output_tag(tag); finish_ops_.set_output_tag(tag);
if (!context_->initial_metadata_received_) { if (!context_->initial_metadata_received_) {
finish_ops_.RecvInitialMetadata(context_); finish_ops_.RecvInitialMetadata(context_);
@ -267,12 +265,12 @@ class ClientAsyncReader final : public ClientAsyncReaderInterface<R> {
const W& request, bool start, void* tag) const W& request, bool start, void* tag)
: context_(context), call_(call), started_(start) { : context_(context), call_(call), started_(start) {
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(init_ops_.SendMessage(request).ok()); GPR_ASSERT(init_ops_.SendMessage(request).ok());
init_ops_.ClientSendClose(); init_ops_.ClientSendClose();
if (start) { if (start) {
StartCallInternal(tag); StartCallInternal(tag);
} else { } else {
ABSL_CHECK(tag == nullptr); GPR_ASSERT(tag == nullptr);
} }
} }
@ -350,7 +348,7 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(ClientAsyncWriter)); GPR_ASSERT(size == sizeof(ClientAsyncWriter));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -358,10 +356,10 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
void StartCall(void* tag) override { void StartCall(void* tag) override {
ABSL_CHECK(!started_); GPR_ASSERT(!started_);
started_ = true; started_ = true;
StartCallInternal(tag); StartCallInternal(tag);
} }
@ -374,8 +372,8 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
/// associated with this call is updated, and the calling code can access /// associated with this call is updated, and the calling code can access
/// the received metadata through the \a ClientContext. /// the received metadata through the \a ClientContext.
void ReadInitialMetadata(void* tag) override { void ReadInitialMetadata(void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
ABSL_CHECK(!context_->initial_metadata_received_); GPR_ASSERT(!context_->initial_metadata_received_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.RecvInitialMetadata(context_); meta_ops_.RecvInitialMetadata(context_);
@ -383,27 +381,27 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
} }
void Write(const W& msg, void* tag) override { void Write(const W& msg, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg).ok()); GPR_ASSERT(write_ops_.SendMessage(msg).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
void Write(const W& msg, grpc::WriteOptions options, void* tag) override { void Write(const W& msg, grpc::WriteOptions options, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
if (options.is_last_message()) { if (options.is_last_message()) {
options.set_buffer_hint(); options.set_buffer_hint();
write_ops_.ClientSendClose(); write_ops_.ClientSendClose();
} }
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
void WritesDone(void* tag) override { void WritesDone(void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
write_ops_.ClientSendClose(); write_ops_.ClientSendClose();
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
@ -417,7 +415,7 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
/// - attempts to fill in the \a response parameter passed to this class's /// - attempts to fill in the \a response parameter passed to this class's
/// constructor with the server's response message. /// constructor with the server's response message.
void Finish(grpc::Status* status, void* tag) override { void Finish(grpc::Status* status, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
finish_ops_.set_output_tag(tag); finish_ops_.set_output_tag(tag);
if (!context_->initial_metadata_received_) { if (!context_->initial_metadata_received_) {
finish_ops_.RecvInitialMetadata(context_); finish_ops_.RecvInitialMetadata(context_);
@ -437,7 +435,7 @@ class ClientAsyncWriter final : public ClientAsyncWriterInterface<W> {
if (start) { if (start) {
StartCallInternal(tag); StartCallInternal(tag);
} else { } else {
ABSL_CHECK(tag == nullptr); GPR_ASSERT(tag == nullptr);
} }
} }
@ -517,7 +515,7 @@ class ClientAsyncReaderWriter final
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(ClientAsyncReaderWriter)); GPR_ASSERT(size == sizeof(ClientAsyncReaderWriter));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -525,10 +523,10 @@ class ClientAsyncReaderWriter final
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
void StartCall(void* tag) override { void StartCall(void* tag) override {
ABSL_CHECK(!started_); GPR_ASSERT(!started_);
started_ = true; started_ = true;
StartCallInternal(tag); StartCallInternal(tag);
} }
@ -541,8 +539,8 @@ class ClientAsyncReaderWriter final
/// is updated with it, and then the receiving initial metadata can /// is updated with it, and then the receiving initial metadata can
/// be accessed through this \a ClientContext. /// be accessed through this \a ClientContext.
void ReadInitialMetadata(void* tag) override { void ReadInitialMetadata(void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
ABSL_CHECK(!context_->initial_metadata_received_); GPR_ASSERT(!context_->initial_metadata_received_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.RecvInitialMetadata(context_); meta_ops_.RecvInitialMetadata(context_);
@ -550,7 +548,7 @@ class ClientAsyncReaderWriter final
} }
void Read(R* msg, void* tag) override { void Read(R* msg, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
read_ops_.set_output_tag(tag); read_ops_.set_output_tag(tag);
if (!context_->initial_metadata_received_) { if (!context_->initial_metadata_received_) {
read_ops_.RecvInitialMetadata(context_); read_ops_.RecvInitialMetadata(context_);
@ -560,27 +558,27 @@ class ClientAsyncReaderWriter final
} }
void Write(const W& msg, void* tag) override { void Write(const W& msg, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg).ok()); GPR_ASSERT(write_ops_.SendMessage(msg).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
void Write(const W& msg, grpc::WriteOptions options, void* tag) override { void Write(const W& msg, grpc::WriteOptions options, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
if (options.is_last_message()) { if (options.is_last_message()) {
options.set_buffer_hint(); options.set_buffer_hint();
write_ops_.ClientSendClose(); write_ops_.ClientSendClose();
} }
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
void WritesDone(void* tag) override { void WritesDone(void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
write_ops_.ClientSendClose(); write_ops_.ClientSendClose();
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
@ -591,7 +589,7 @@ class ClientAsyncReaderWriter final
/// - the \a ClientContext associated with this call is updated with /// - the \a ClientContext associated with this call is updated with
/// possible initial and trailing metadata sent from the server. /// possible initial and trailing metadata sent from the server.
void Finish(grpc::Status* status, void* tag) override { void Finish(grpc::Status* status, void* tag) override {
ABSL_CHECK(started_); GPR_ASSERT(started_);
finish_ops_.set_output_tag(tag); finish_ops_.set_output_tag(tag);
if (!context_->initial_metadata_received_) { if (!context_->initial_metadata_received_) {
finish_ops_.RecvInitialMetadata(context_); finish_ops_.RecvInitialMetadata(context_);
@ -608,7 +606,7 @@ class ClientAsyncReaderWriter final
if (start) { if (start) {
StartCallInternal(tag); StartCallInternal(tag);
} else { } else {
ABSL_CHECK(tag == nullptr); GPR_ASSERT(tag == nullptr);
} }
} }
@ -708,7 +706,7 @@ class ServerAsyncReader final : public ServerAsyncReaderInterface<W, R> {
/// - The initial metadata that will be sent to the client from this op will /// - The initial metadata that will be sent to the client from this op will
/// be taken from the \a ServerContext associated with the call. /// be taken from the \a ServerContext associated with the call.
void SendInitialMetadata(void* tag) override { void SendInitialMetadata(void* tag) override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_, meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_,
@ -767,7 +765,7 @@ class ServerAsyncReader final : public ServerAsyncReaderInterface<W, R> {
/// gRPC doesn't take ownership or a reference to \a status, so it is safe to /// gRPC doesn't take ownership or a reference to \a status, so it is safe to
/// to deallocate once FinishWithError returns. /// to deallocate once FinishWithError returns.
void FinishWithError(const grpc::Status& status, void* tag) override { void FinishWithError(const grpc::Status& status, void* tag) override {
ABSL_CHECK(!status.ok()); GPR_ASSERT(!status.ok());
finish_ops_.set_output_tag(tag); finish_ops_.set_output_tag(tag);
if (!ctx_->sent_initial_metadata_) { if (!ctx_->sent_initial_metadata_) {
finish_ops_.SendInitialMetadata(&ctx_->initial_metadata_, finish_ops_.SendInitialMetadata(&ctx_->initial_metadata_,
@ -857,7 +855,7 @@ class ServerAsyncWriter final : public ServerAsyncWriterInterface<W> {
/// ///
/// \param[in] tag Tag identifying this request. /// \param[in] tag Tag identifying this request.
void SendInitialMetadata(void* tag) override { void SendInitialMetadata(void* tag) override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_, meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_,
@ -873,7 +871,7 @@ class ServerAsyncWriter final : public ServerAsyncWriterInterface<W> {
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg).ok()); GPR_ASSERT(write_ops_.SendMessage(msg).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -885,7 +883,7 @@ class ServerAsyncWriter final : public ServerAsyncWriterInterface<W> {
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -904,7 +902,7 @@ class ServerAsyncWriter final : public ServerAsyncWriterInterface<W> {
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
options.set_buffer_hint(); options.set_buffer_hint();
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
write_ops_.ServerSendStatus(&ctx_->trailing_metadata_, status); write_ops_.ServerSendStatus(&ctx_->trailing_metadata_, status);
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -1023,7 +1021,7 @@ class ServerAsyncReaderWriter final
/// ///
/// \param[in] tag Tag identifying this request. /// \param[in] tag Tag identifying this request.
void SendInitialMetadata(void* tag) override { void SendInitialMetadata(void* tag) override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
meta_ops_.set_output_tag(tag); meta_ops_.set_output_tag(tag);
meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_, meta_ops_.SendInitialMetadata(&ctx_->initial_metadata_,
@ -1045,7 +1043,7 @@ class ServerAsyncReaderWriter final
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(write_ops_.SendMessage(msg).ok()); GPR_ASSERT(write_ops_.SendMessage(msg).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -1055,7 +1053,7 @@ class ServerAsyncReaderWriter final
options.set_buffer_hint(); options.set_buffer_hint();
} }
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }
@ -1075,7 +1073,7 @@ class ServerAsyncReaderWriter final
write_ops_.set_output_tag(tag); write_ops_.set_output_tag(tag);
EnsureInitialMetadataSent(&write_ops_); EnsureInitialMetadataSent(&write_ops_);
options.set_buffer_hint(); options.set_buffer_hint();
ABSL_CHECK(write_ops_.SendMessage(msg, options).ok()); GPR_ASSERT(write_ops_.SendMessage(msg, options).ok());
write_ops_.ServerSendStatus(&ctx_->trailing_metadata_, status); write_ops_.ServerSendStatus(&ctx_->trailing_metadata_, status);
call_.PerformOps(&write_ops_); call_.PerformOps(&write_ops_);
} }

View File

@ -19,8 +19,6 @@
#ifndef GRPCPP_SUPPORT_ASYNC_UNARY_CALL_H #ifndef GRPCPP_SUPPORT_ASYNC_UNARY_CALL_H
#define GRPCPP_SUPPORT_ASYNC_UNARY_CALL_H #define GRPCPP_SUPPORT_ASYNC_UNARY_CALL_H
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpcpp/client_context.h> #include <grpcpp/client_context.h>
@ -132,7 +130,7 @@ class ClientAsyncResponseReaderHelper {
new (grpc_call_arena_alloc(call, sizeof(SingleBufType))) SingleBufType; new (grpc_call_arena_alloc(call, sizeof(SingleBufType))) SingleBufType;
*single_buf_ptr = single_buf; *single_buf_ptr = single_buf;
// TODO(ctiller): don't assert // TODO(ctiller): don't assert
ABSL_CHECK(single_buf->SendMessage(request).ok()); GPR_ASSERT(single_buf->SendMessage(request).ok());
single_buf->ClientSendClose(); single_buf->ClientSendClose();
// The purpose of the following functions is to type-erase the actual // The purpose of the following functions is to type-erase the actual
@ -222,7 +220,7 @@ class ClientAsyncResponseReader final
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(ClientAsyncResponseReader)); GPR_ASSERT(size == sizeof(ClientAsyncResponseReader));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -230,10 +228,10 @@ class ClientAsyncResponseReader final
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
void StartCall() override { void StartCall() override {
ABSL_DCHECK(!started_); GPR_DEBUG_ASSERT(!started_);
started_ = true; started_ = true;
internal::ClientAsyncResponseReaderHelper::StartCall(context_, single_buf_); internal::ClientAsyncResponseReaderHelper::StartCall(context_, single_buf_);
} }
@ -245,8 +243,8 @@ class ClientAsyncResponseReader final
/// - the \a ClientContext associated with this call is updated with /// - the \a ClientContext associated with this call is updated with
/// possible initial and trailing metadata sent from the server. /// possible initial and trailing metadata sent from the server.
void ReadInitialMetadata(void* tag) override { void ReadInitialMetadata(void* tag) override {
ABSL_DCHECK(started_); GPR_DEBUG_ASSERT(started_);
ABSL_DCHECK(!context_->initial_metadata_received_); GPR_DEBUG_ASSERT(!context_->initial_metadata_received_);
read_initial_metadata_(context_, &call_, single_buf_, tag); read_initial_metadata_(context_, &call_, single_buf_, tag);
initial_metadata_read_ = true; initial_metadata_read_ = true;
} }
@ -257,7 +255,7 @@ class ClientAsyncResponseReader final
/// - the \a ClientContext associated with this call is updated with /// - the \a ClientContext associated with this call is updated with
/// possible initial and trailing metadata sent from the server. /// possible initial and trailing metadata sent from the server.
void Finish(R* msg, grpc::Status* status, void* tag) override { void Finish(R* msg, grpc::Status* status, void* tag) override {
ABSL_DCHECK(started_); GPR_DEBUG_ASSERT(started_);
finish_(context_, &call_, initial_metadata_read_, single_buf_, &finish_buf_, finish_(context_, &call_, initial_metadata_read_, single_buf_, &finish_buf_,
static_cast<void*>(msg), status, tag); static_cast<void*>(msg), status, tag);
} }
@ -306,7 +304,7 @@ class ServerAsyncResponseWriter final
/// ///
/// \param[in] tag Tag identifying this request. /// \param[in] tag Tag identifying this request.
void SendInitialMetadata(void* tag) override { void SendInitialMetadata(void* tag) override {
ABSL_CHECK(!ctx_->sent_initial_metadata_); GPR_ASSERT(!ctx_->sent_initial_metadata_);
meta_buf_.set_output_tag(tag); meta_buf_.set_output_tag(tag);
meta_buf_.SendInitialMetadata(&ctx_->initial_metadata_, meta_buf_.SendInitialMetadata(&ctx_->initial_metadata_,
@ -375,7 +373,7 @@ class ServerAsyncResponseWriter final
/// deallocate them once the Finish operation is complete (i.e. a result /// deallocate them once the Finish operation is complete (i.e. a result
/// arrives in the completion queue). /// arrives in the completion queue).
void FinishWithError(const grpc::Status& status, void* tag) { void FinishWithError(const grpc::Status& status, void* tag) {
ABSL_CHECK(!status.ok()); GPR_ASSERT(!status.ok());
finish_buf_.set_output_tag(tag); finish_buf_.set_output_tag(tag);
if (!ctx_->sent_initial_metadata_) { if (!ctx_->sent_initial_metadata_) {
finish_buf_.SendInitialMetadata(&ctx_->initial_metadata_, finish_buf_.SendInitialMetadata(&ctx_->initial_metadata_,

View File

@ -21,8 +21,6 @@
#include <functional> #include <functional>
#include "absl/log/absl_check.h"
#include <grpc/grpc.h> #include <grpc/grpc.h>
#include <grpc/impl/grpc_types.h> #include <grpc/impl/grpc_types.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -73,7 +71,7 @@ class CallbackWithStatusTag : public grpc_completion_queue_functor {
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(CallbackWithStatusTag)); GPR_ASSERT(size == sizeof(CallbackWithStatusTag));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -81,7 +79,7 @@ class CallbackWithStatusTag : public grpc_completion_queue_functor {
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
CallbackWithStatusTag(grpc_call* call, std::function<void(Status)> f, CallbackWithStatusTag(grpc_call* call, std::function<void(Status)> f,
CompletionQueueTag* ops) CompletionQueueTag* ops)
@ -120,7 +118,7 @@ class CallbackWithStatusTag : public grpc_completion_queue_functor {
// The tag was swallowed // The tag was swallowed
return; return;
} }
ABSL_CHECK(ignored == ops_); GPR_ASSERT(ignored == ops_);
// Last use of func_ or status_, so ok to move them out // Last use of func_ or status_, so ok to move them out
auto func = std::move(func_); auto func = std::move(func_);
@ -139,7 +137,7 @@ class CallbackWithSuccessTag : public grpc_completion_queue_functor {
public: public:
// always allocated against a call arena, no memory free required // always allocated against a call arena, no memory free required
static void operator delete(void* /*ptr*/, std::size_t size) { static void operator delete(void* /*ptr*/, std::size_t size) {
ABSL_CHECK_EQ(size, sizeof(CallbackWithSuccessTag)); GPR_ASSERT(size == sizeof(CallbackWithSuccessTag));
} }
// This operator should never be called as the memory should be freed as part // This operator should never be called as the memory should be freed as part
@ -147,7 +145,7 @@ class CallbackWithSuccessTag : public grpc_completion_queue_functor {
// delete to the operator new so that some compilers will not complain (see // delete to the operator new so that some compilers will not complain (see
// https://github.com/grpc/grpc/issues/11301) Note at the time of adding this // https://github.com/grpc/grpc/issues/11301) Note at the time of adding this
// there are no tests catching the compiler warning. // there are no tests catching the compiler warning.
static void operator delete(void*, void*) { ABSL_CHECK(false); } static void operator delete(void*, void*) { GPR_ASSERT(false); }
CallbackWithSuccessTag() : call_(nullptr) {} CallbackWithSuccessTag() : call_(nullptr) {}
@ -164,7 +162,7 @@ class CallbackWithSuccessTag : public grpc_completion_queue_functor {
// callbacks. // callbacks.
void Set(grpc_call* call, std::function<void(bool)> f, void Set(grpc_call* call, std::function<void(bool)> f,
CompletionQueueTag* ops, bool can_inline) { CompletionQueueTag* ops, bool can_inline) {
ABSL_CHECK_EQ(call_, nullptr); GPR_ASSERT(call_ == nullptr);
grpc_call_ref(call); grpc_call_ref(call);
call_ = call; call_ = call;
func_ = std::move(f); func_ = std::move(f);
@ -210,7 +208,7 @@ class CallbackWithSuccessTag : public grpc_completion_queue_functor {
#endif #endif
bool do_callback = ops_->FinalizeResult(&ignored, &ok); bool do_callback = ops_->FinalizeResult(&ignored, &ok);
#ifndef NDEBUG #ifndef NDEBUG
ABSL_DCHECK(ignored == ops); GPR_DEBUG_ASSERT(ignored == ops);
#endif #endif
if (do_callback) { if (do_callback) {

Some files were not shown because too many files have changed in this diff Show More