Compare commits
210 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
ccfc163607 | |
|
|
301bb28782 | |
|
|
ce220f01a5 | |
|
|
d167fe7467 | |
|
|
f3c0a9e344 | |
|
|
cf90fc7f73 | |
|
|
65be93cae3 | |
|
|
905c2b25fc | |
|
|
e3da1e7ab6 | |
|
|
73d016e399 | |
|
|
e4b7d46f43 | |
|
|
03e91b6811 | |
|
|
7ce0ccdb40 | |
|
|
c605b98467 | |
|
|
3d1f460fcc | |
|
|
87321f08b3 | |
|
|
fabf135c7f | |
|
|
203f2b4d16 | |
|
|
42648a6fdf | |
|
|
cd595a8794 | |
|
|
e6e2f1e1cb | |
|
|
b1c3b5ddfe | |
|
|
4f3fba65fb | |
|
|
347f2a8a4b | |
|
|
a07d3d09b7 | |
|
|
c9fdef1317 | |
|
|
d63dcc188b | |
|
|
b3de112b15 | |
|
|
322ef09202 | |
|
|
d038e0ed19 | |
|
|
1dbfd4c9f2 | |
|
|
bc6a1c6922 | |
|
|
6f913025f2 | |
|
|
90975282dc | |
|
|
da05edc802 | |
|
|
5d586d3ae3 | |
|
|
2e35d4aab5 | |
|
|
e409ca652f | |
|
|
14d76aac59 | |
|
|
60301d40e0 | |
|
|
8c6be41434 | |
|
|
687b31d7c7 | |
|
|
51d1d7ca1b | |
|
|
6814867e78 | |
|
|
242a83b6d8 | |
|
|
7105f93778 | |
|
|
cb6eaeb4f0 | |
|
|
05f4dc4103 | |
|
|
d110960d56 | |
|
|
32a0218e6e | |
|
|
90a649fd3f | |
|
|
e55f69cedd | |
|
|
b238652227 | |
|
|
ae90b3ed01 | |
|
|
82ca82ca81 | |
|
|
d623f31d97 | |
|
|
9b1bb788aa | |
|
|
b2e14059a6 | |
|
|
3eb1b1cf69 | |
|
|
4f6e13bdda | |
|
|
e4daabc8bc | |
|
|
05af32503c | |
|
|
d26a878e83 | |
|
|
0c37233892 | |
|
|
a1ff6531fb | |
|
|
108f70b4bb | |
|
|
ca4c025091 | |
|
|
34ac4ee5de | |
|
|
53540ae5d6 | |
|
|
d09edb126f | |
|
|
21a5bb487c | |
|
|
f3220d08d2 | |
|
|
7ccb51e2ea | |
|
|
8faac767da | |
|
|
78c0c2012b | |
|
|
c449b79612 | |
|
|
c50e1498be | |
|
|
35a896aaae | |
|
|
d8862cc2a4 | |
|
|
82756e9ce0 | |
|
|
3562094389 | |
|
|
766813f164 | |
|
|
53c42e9dae | |
|
|
4423bfd0c6 | |
|
|
1a96ce7620 | |
|
|
39afbf49f2 | |
|
|
fbd8ebe7cd | |
|
|
34871fafa3 | |
|
|
ecee02a226 | |
|
|
db2d775ffc | |
|
|
ecdb5caf83 | |
|
|
c495d2aa1f | |
|
|
a88ee9ef99 | |
|
|
7a131420de | |
|
|
a7283ac6fe | |
|
|
ca8db3b264 | |
|
|
cd074cc0b5 | |
|
|
33017551bb | |
|
|
2395bb1b86 | |
|
|
1309eb283c | |
|
|
6c4c3f5b51 | |
|
|
621aa4e5ce | |
|
|
aa83a3fe32 | |
|
|
ac303a09f6 | |
|
|
3df8e0787f | |
|
|
8881bde311 | |
|
|
0ed095093c | |
|
|
d148728588 | |
|
|
fe817c8ab1 | |
|
|
182f6885d3 | |
|
|
6c08d36c3b | |
|
|
c9df35a4d1 | |
|
|
154081a92a | |
|
|
46d864aaac | |
|
|
44b7631d65 | |
|
|
990a422b1b | |
|
|
6b11ea0c3c | |
|
|
7ab3cebdfc | |
|
|
b3e061e086 | |
|
|
40e578d330 | |
|
|
b0c7b8a8ce | |
|
|
3d1275ec17 | |
|
|
f4ac0a3093 | |
|
|
dc14f9cadb | |
|
|
4dc1097d04 | |
|
|
98752f39fb | |
|
|
b60f8d1559 | |
|
|
5a7a07a7e3 | |
|
|
a509c6b4e7 | |
|
|
d3960484c0 | |
|
|
a79a8111af | |
|
|
986428d252 | |
|
|
a47065e696 | |
|
|
fb6a57b153 | |
|
|
1e83bc6978 | |
|
|
2b45675f2e | |
|
|
3b20b19778 | |
|
|
841dfc097d | |
|
|
f00dfb0f78 | |
|
|
cac1f2727e | |
|
|
271b2f17e2 | |
|
|
841af82bba | |
|
|
2d2d5a3c41 | |
|
|
c890a35f0c | |
|
|
68134ba53d | |
|
|
bb201db996 | |
|
|
44e4bdc616 | |
|
|
c95886f65a | |
|
|
f088d2aa0b | |
|
|
ed5893120e | |
|
|
3ca738907c | |
|
|
f2735861c0 | |
|
|
58a4b9c922 | |
|
|
f1dbb32f0a | |
|
|
545bd5171d | |
|
|
05ae7fb926 | |
|
|
bc5570bec8 | |
|
|
befeeba0f5 | |
|
|
6edaa28cc7 | |
|
|
15850972dd | |
|
|
d8b141f9bb | |
|
|
ed5a496b72 | |
|
|
3531b797ba | |
|
|
ef322d93c4 | |
|
|
b90be935af | |
|
|
28af2186fb | |
|
|
ae3e02f403 | |
|
|
4b04cc5b13 | |
|
|
2fb9e99f47 | |
|
|
178c63aae7 | |
|
|
27b82ca0ef | |
|
|
29f2dc1e08 | |
|
|
0ecee5ad3f | |
|
|
c31b115a63 | |
|
|
88ed4299f9 | |
|
|
766226814a | |
|
|
28b4fafc00 | |
|
|
1da5aaf855 | |
|
|
5a99b7ea82 | |
|
|
06b097691e | |
|
|
989268253e | |
|
|
e5cd63f971 | |
|
|
88a75b3914 | |
|
|
3e412b4af1 | |
|
|
57b7e7780e | |
|
|
1bfca77696 | |
|
|
863029b7fe | |
|
|
4fac69ee2a | |
|
|
f97fc0cb99 | |
|
|
b943668f95 | |
|
|
bc4766381a | |
|
|
c0208416b6 | |
|
|
ede35955a6 | |
|
|
d8d7128d2d | |
|
|
a3aa81e179 | |
|
|
6b3a670cb0 | |
|
|
e3be06ee38 | |
|
|
527950143a | |
|
|
740b58a9ac | |
|
|
22e9ce46e0 | |
|
|
28f2315c9f | |
|
|
abda964f52 | |
|
|
8ad65ab1ca | |
|
|
52f7a6f38d | |
|
|
641dbfd4c2 | |
|
|
87c42aab68 | |
|
|
87b71907d6 | |
|
|
9b4478740d | |
|
|
ec8df8955f | |
|
|
24c86247ac |
|
|
@ -29,9 +29,13 @@ tools/run_tests/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
|
||||
src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h linguist-generated=true
|
||||
src/core/lib/debug/stats_data.h linguist-generated=true
|
||||
src/core/lib/debug/stats_data.cc linguist-generated=true
|
||||
src/core/telemetry/stats_data.h linguist-generated=true
|
||||
src/core/telemetry/stats_data.cc linguist-generated=true
|
||||
src/core/lib/experiments/experiments.h linguist-generated=true
|
||||
src/core/lib/experiments/experiments.cc linguist-generated=true
|
||||
bazel/experiments.bzl 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
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
with:
|
||||
format: YYYYWWd
|
||||
- name: Cache bazel
|
||||
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
||||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
||||
env:
|
||||
cache-name: bazel-cache
|
||||
with:
|
||||
|
|
@ -66,7 +66,7 @@ jobs:
|
|||
run: test "${{ steps.check.outputs.result }}" = "stay"
|
||||
# Setup to run sanity suite
|
||||
- name: Install Python Interpreter
|
||||
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
|
||||
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install Python Packages
|
||||
|
|
@ -75,7 +75,7 @@ jobs:
|
|||
sudo apt-get update
|
||||
sudo apt-get install python3-dev
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
submodules: True
|
||||
- name: Get the upstream code
|
||||
|
|
@ -90,7 +90,7 @@ jobs:
|
|||
run: ANDROID_NDK_HOME= ${{ github.workspace }}/tools/distrib/sanitize.sh
|
||||
# Report back with a PR if things are broken
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
|
||||
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6.0.5
|
||||
with:
|
||||
delete-branch: true
|
||||
branch-suffix: short-commit-hash
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ let package = Package(
|
|||
"src/crypto/dh_extra/dh_asn1.c",
|
||||
"src/crypto/dh_extra/params.c",
|
||||
"src/crypto/digest_extra/digest_extra.c",
|
||||
"src/crypto/dilithium/dilithium.c",
|
||||
"src/crypto/dsa/dsa.c",
|
||||
"src/crypto/dsa/dsa_asn1.c",
|
||||
"src/crypto/ec_extra/ec_asn1.c",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -31,6 +31,7 @@ for general contribution guidelines.
|
|||
- [pfreixes](https://github.com/pfreixes), Skyscanner Ltd
|
||||
- [ran-su](https://github.com/ran-su), Google LLC
|
||||
- [sanjaypujare](https://github.com/sanjaypujare), Google LLC
|
||||
- [sastryvp](https://github.com/sastryvp), Google LLC
|
||||
- [sergiitk](https://github.com/sergiitk), Google LLC
|
||||
- [soheilhy](https://github.com/soheilhy), Google LLC
|
||||
- [stanley-cheung](https://github.com/stanley-cheung), Google LLC
|
||||
|
|
@ -40,6 +41,7 @@ for general contribution guidelines.
|
|||
- [vishalpowar](https://github.com/vishalpowar), Google LLC
|
||||
- [wenbozhu](https://github.com/wenbozhu), Google LLC
|
||||
- [yashykt](https://github.com/yashykt), Google LLC
|
||||
- [yijiem](https://github.com/yijiem), Google LLC
|
||||
- [ZhouyihaiDing](https://github.com/ZhouyihaiDing), Google LLC
|
||||
<!-- go/keep-sorted end -->
|
||||
|
||||
|
|
|
|||
|
|
@ -367,8 +367,8 @@ E = @echo
|
|||
Q = @
|
||||
endif
|
||||
|
||||
CORE_VERSION = 41.0.0
|
||||
CPP_VERSION = 1.64.2
|
||||
CORE_VERSION = 42.0.0
|
||||
CPP_VERSION = 1.65.0-dev
|
||||
|
||||
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
|
||||
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
|
||||
|
|
@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
|
|||
SHARED_EXT_CPP = dll
|
||||
|
||||
SHARED_PREFIX =
|
||||
SHARED_VERSION_CORE = -41
|
||||
SHARED_VERSION_CORE = -42
|
||||
SHARED_VERSION_CPP = -1
|
||||
else ifeq ($(SYSTEM),Darwin)
|
||||
EXECUTABLE_SUFFIX =
|
||||
|
|
@ -670,6 +670,7 @@ LIBGRPC_SRC = \
|
|||
src/core/channelz/channelz.cc \
|
||||
src/core/channelz/channelz_registry.cc \
|
||||
src/core/client_channel/backup_poller.cc \
|
||||
src/core/client_channel/client_channel.cc \
|
||||
src/core/client_channel/client_channel_factory.cc \
|
||||
src/core/client_channel/client_channel_filter.cc \
|
||||
src/core/client_channel/client_channel_plugin.cc \
|
||||
|
|
@ -677,6 +678,7 @@ LIBGRPC_SRC = \
|
|||
src/core/client_channel/config_selector.cc \
|
||||
src/core/client_channel/dynamic_filters.cc \
|
||||
src/core/client_channel/global_subchannel_pool.cc \
|
||||
src/core/client_channel/load_balanced_call_destination.cc \
|
||||
src/core/client_channel/local_subchannel_pool.cc \
|
||||
src/core/client_channel/retry_filter.cc \
|
||||
src/core/client_channel/retry_filter_legacy_call_data.cc \
|
||||
|
|
@ -701,7 +703,6 @@ LIBGRPC_SRC = \
|
|||
src/core/ext/filters/rbac/rbac_service_config_parser.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/gcp/metadata_query.cc \
|
||||
src/core/ext/transport/chttp2/alpn/alpn.cc \
|
||||
src/core/ext/transport/chttp2/client/chttp2_connector.cc \
|
||||
src/core/ext/transport/chttp2/server/chttp2_server.cc \
|
||||
|
|
@ -723,7 +724,6 @@ LIBGRPC_SRC = \
|
|||
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/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/max_concurrent_streams_policy.cc \
|
||||
src/core/ext/transport/chttp2/transport/parsing.cc \
|
||||
|
|
@ -734,7 +734,6 @@ LIBGRPC_SRC = \
|
|||
src/core/ext/transport/chttp2/transport/varint.cc \
|
||||
src/core/ext/transport/chttp2/transport/write_size_policy.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/legacy_inproc_transport.cc \
|
||||
src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
|
||||
|
|
@ -1062,21 +1061,17 @@ LIBGRPC_SRC = \
|
|||
src/core/handshaker/proxy_mapper_registry.cc \
|
||||
src/core/handshaker/security/secure_endpoint.cc \
|
||||
src/core/handshaker/security/security_handshaker.cc \
|
||||
src/core/handshaker/security/tsi_error.cc \
|
||||
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \
|
||||
src/core/lib/address_utils/parse_address.cc \
|
||||
src/core/lib/address_utils/sockaddr_utils.cc \
|
||||
src/core/lib/backoff/backoff.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_preconditioning.cc \
|
||||
src/core/lib/channel/channel_stack.cc \
|
||||
src/core/lib/channel/channel_stack_builder.cc \
|
||||
src/core/lib/channel/channel_stack_builder_impl.cc \
|
||||
src/core/lib/channel/channel_stack_trace.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/status_util.cc \
|
||||
src/core/lib/compression/compression.cc \
|
||||
|
|
@ -1087,10 +1082,8 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/config/core_configuration.cc \
|
||||
src/core/lib/config/load_config.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_flags.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/cfstream_endpoint.cc \
|
||||
|
|
@ -1129,7 +1122,6 @@ LIBGRPC_SRC = \
|
|||
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/time_util.cc \
|
||||
src/core/lib/event_engine/trace.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/iocp.cc \
|
||||
|
|
@ -1141,35 +1133,11 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/event_engine/work_queue/basic_work_queue.cc \
|
||||
src/core/lib/experiments/config.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/dump_args.cc \
|
||||
src/core/lib/gprpp/examine_stack.cc \
|
||||
src/core/lib/gprpp/fork.cc \
|
||||
src/core/lib/gprpp/glob.cc \
|
||||
src/core/lib/gprpp/host_port.cc \
|
||||
src/core/lib/gprpp/linux/env.cc \
|
||||
src/core/lib/gprpp/load_file.cc \
|
||||
|
|
@ -1193,10 +1161,6 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/gprpp/windows/stat.cc \
|
||||
src/core/lib/gprpp/windows/thd.cc \
|
||||
src/core/lib/gprpp/work_serializer.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/call_combiner.cc \
|
||||
src/core/lib/iomgr/cfstream_handle.cc \
|
||||
|
|
@ -1213,7 +1177,6 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/iomgr/ev_epoll1_linux.cc \
|
||||
src/core/lib/iomgr/ev_poll_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/endpoint.cc \
|
||||
src/core/lib/iomgr/event_engine_shims/tcp_client.cc \
|
||||
|
|
@ -1274,15 +1237,10 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
|
||||
src/core/lib/iomgr/wakeup_fd_pipe.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/promise/activity.cc \
|
||||
src/core/lib/promise/party.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/arena.cc \
|
||||
src/core/lib/resource_quota/connection_quota.cc \
|
||||
|
|
@ -1290,7 +1248,6 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/resource_quota/periodic_update.cc \
|
||||
src/core/lib/resource_quota/resource_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/authorization_policy_provider_vtable.cc \
|
||||
src/core/lib/security/authorization/evaluate_args.cc \
|
||||
|
|
@ -1356,30 +1313,30 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/slice/percent_encoding.cc \
|
||||
src/core/lib/slice/slice.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/surface/api_trace.cc \
|
||||
src/core/lib/surface/byte_buffer.cc \
|
||||
src/core/lib/surface/byte_buffer_reader.cc \
|
||||
src/core/lib/surface/call.cc \
|
||||
src/core/lib/surface/call_details.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_create.cc \
|
||||
src/core/lib/surface/channel_init.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_factory.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_internally.cc \
|
||||
src/core/lib/surface/lame_client.cc \
|
||||
src/core/lib/surface/legacy_channel.cc \
|
||||
src/core/lib/surface/metadata_array.cc \
|
||||
src/core/lib/surface/server_call.cc \
|
||||
src/core/lib/surface/validate_metadata.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/call_arena_allocator.cc \
|
||||
src/core/lib/transport/call_filters.cc \
|
||||
|
|
@ -1387,6 +1344,7 @@ LIBGRPC_SRC = \
|
|||
src/core/lib/transport/call_spine.cc \
|
||||
src/core/lib/transport/connectivity_state.cc \
|
||||
src/core/lib/transport/error_utils.cc \
|
||||
src/core/lib/transport/interception_chain.cc \
|
||||
src/core/lib/transport/message.cc \
|
||||
src/core/lib/transport/metadata.cc \
|
||||
src/core/lib/transport/metadata_batch.cc \
|
||||
|
|
@ -1446,7 +1404,6 @@ LIBGRPC_SRC = \
|
|||
src/core/resolver/sockaddr/sockaddr_resolver.cc \
|
||||
src/core/resolver/xds/xds_dependency_manager.cc \
|
||||
src/core/resolver/xds/xds_resolver.cc \
|
||||
src/core/resolver/xds/xds_resolver_trace.cc \
|
||||
src/core/server/server.cc \
|
||||
src/core/server/server_call_tracer_filter.cc \
|
||||
src/core/server/server_config_selector_filter.cc \
|
||||
|
|
@ -1455,6 +1412,11 @@ LIBGRPC_SRC = \
|
|||
src/core/service_config/service_config_channel_arg_filter.cc \
|
||||
src/core/service_config/service_config_impl.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/gsec.cc \
|
||||
src/core/tsi/alts/frame_protector/alts_counter.cc \
|
||||
|
|
@ -1484,6 +1446,41 @@ LIBGRPC_SRC = \
|
|||
src/core/tsi/ssl_transport_security_utils.cc \
|
||||
src/core/tsi/transport_security.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 \
|
||||
|
|
@ -1775,6 +1772,7 @@ PUBLIC_HEADERS_C += \
|
|||
include/grpc/impl/propagation_bits.h \
|
||||
include/grpc/impl/slice_type.h \
|
||||
include/grpc/load_reporting.h \
|
||||
include/grpc/passive_listener.h \
|
||||
include/grpc/slice.h \
|
||||
include/grpc/slice_buffer.h \
|
||||
include/grpc/status.h \
|
||||
|
|
@ -1835,8 +1833,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
|
|||
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)
|
||||
else
|
||||
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.41 -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.41
|
||||
$(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) 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
|
||||
endif
|
||||
endif
|
||||
|
|
@ -1933,6 +1931,7 @@ LIBBORINGSSL_SRC = \
|
|||
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/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_asn1.c \
|
||||
third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ let package = Package(
|
|||
"include/grpc/impl/propagation_bits.h",
|
||||
"include/grpc/impl/slice_type.h",
|
||||
"include/grpc/load_reporting.h",
|
||||
"include/grpc/passive_listener.h",
|
||||
"include/grpc/slice.h",
|
||||
"include/grpc/slice_buffer.h",
|
||||
"include/grpc/status.h",
|
||||
|
|
@ -125,6 +126,8 @@ let package = Package(
|
|||
"src/core/channelz/channelz_registry.h",
|
||||
"src/core/client_channel/backup_poller.cc",
|
||||
"src/core/client_channel/backup_poller.h",
|
||||
"src/core/client_channel/client_channel.cc",
|
||||
"src/core/client_channel/client_channel.h",
|
||||
"src/core/client_channel/client_channel_factory.cc",
|
||||
"src/core/client_channel/client_channel_factory.h",
|
||||
"src/core/client_channel/client_channel_filter.cc",
|
||||
|
|
@ -140,6 +143,8 @@ let package = Package(
|
|||
"src/core/client_channel/dynamic_filters.h",
|
||||
"src/core/client_channel/global_subchannel_pool.cc",
|
||||
"src/core/client_channel/global_subchannel_pool.h",
|
||||
"src/core/client_channel/load_balanced_call_destination.cc",
|
||||
"src/core/client_channel/load_balanced_call_destination.h",
|
||||
"src/core/client_channel/local_subchannel_pool.cc",
|
||||
"src/core/client_channel/local_subchannel_pool.h",
|
||||
"src/core/client_channel/retry_filter.cc",
|
||||
|
|
@ -188,8 +193,6 @@ let package = Package(
|
|||
"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.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.h",
|
||||
"src/core/ext/transport/chttp2/client/chttp2_connector.cc",
|
||||
|
|
@ -234,8 +237,6 @@ let package = Package(
|
|||
"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.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.h",
|
||||
"src/core/ext/transport/chttp2/transport/internal.h",
|
||||
|
|
@ -255,7 +256,6 @@ let package = Package(
|
|||
"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/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.h",
|
||||
"src/core/ext/transport/inproc/legacy_inproc_transport.cc",
|
||||
|
|
@ -1077,8 +1077,6 @@ let package = Package(
|
|||
"src/core/handshaker/security/secure_endpoint.h",
|
||||
"src/core/handshaker/security/security_handshaker.cc",
|
||||
"src/core/handshaker/security/security_handshaker.h",
|
||||
"src/core/handshaker/security/tsi_error.cc",
|
||||
"src/core/handshaker/security/tsi_error.h",
|
||||
"src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc",
|
||||
"src/core/handshaker/tcp_connect/tcp_connect_handshaker.h",
|
||||
"src/core/lib/address_utils/parse_address.cc",
|
||||
|
|
@ -1091,8 +1089,6 @@ let package = Package(
|
|||
"src/core/lib/backoff/random_early_detection.cc",
|
||||
"src/core/lib/backoff/random_early_detection.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.h",
|
||||
"src/core/lib/channel/channel_args_preconditioning.cc",
|
||||
|
|
@ -1104,18 +1100,12 @@ let package = Package(
|
|||
"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.h",
|
||||
"src/core/lib/channel/channel_stack_trace.cc",
|
||||
"src/core/lib/channel/channel_stack_trace.h",
|
||||
"src/core/lib/channel/connected_channel.cc",
|
||||
"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.h",
|
||||
"src/core/lib/channel/status_util.cc",
|
||||
"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_internal.cc",
|
||||
"src/core/lib/compression/compression_internal.h",
|
||||
|
|
@ -1130,14 +1120,11 @@ let package = Package(
|
|||
"src/core/lib/config/load_config.h",
|
||||
"src/core/lib/debug/event_log.cc",
|
||||
"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.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.h",
|
||||
"src/core/lib/event_engine/cf_engine/cf_engine.cc",
|
||||
|
|
@ -1159,6 +1146,7 @@ let package = Package(
|
|||
"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/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.h",
|
||||
"src/core/lib/event_engine/grpc_polled_fd.h",
|
||||
|
|
@ -1229,7 +1217,6 @@ let package = Package(
|
|||
"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.h",
|
||||
"src/core/lib/event_engine/trace.cc",
|
||||
"src/core/lib/event_engine/trace.h",
|
||||
"src/core/lib/event_engine/utils.cc",
|
||||
"src/core/lib/event_engine/utils.h",
|
||||
|
|
@ -1254,38 +1241,6 @@ let package = Package(
|
|||
"src/core/lib/experiments/config.h",
|
||||
"src/core/lib/experiments/experiments.cc",
|
||||
"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/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/bitset.h",
|
||||
"src/core/lib/gprpp/chunked_vector.h",
|
||||
|
|
@ -1297,11 +1252,15 @@ let package = Package(
|
|||
"src/core/lib/gprpp/directory_reader.h",
|
||||
"src/core/lib/gprpp/down_cast.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/examine_stack.cc",
|
||||
"src/core/lib/gprpp/examine_stack.h",
|
||||
"src/core/lib/gprpp/fork.cc",
|
||||
"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.h",
|
||||
"src/core/lib/gprpp/if_list.h",
|
||||
|
|
@ -1359,14 +1318,6 @@ let package = Package(
|
|||
"src/core/lib/gprpp/work_serializer.cc",
|
||||
"src/core/lib/gprpp/work_serializer.h",
|
||||
"src/core/lib/gprpp/xxhash_inline.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/buffer_list.cc",
|
||||
"src/core/lib/iomgr/buffer_list.h",
|
||||
|
|
@ -1399,7 +1350,6 @@ let package = Package(
|
|||
"src/core/lib/iomgr/ev_poll_posix.h",
|
||||
"src/core/lib/iomgr/ev_posix.cc",
|
||||
"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.h",
|
||||
"src/core/lib/iomgr/event_engine_shims/endpoint.cc",
|
||||
|
|
@ -1509,17 +1459,6 @@ let package = Package(
|
|||
"src/core/lib/iomgr/wakeup_fd_pipe.h",
|
||||
"src/core/lib/iomgr/wakeup_fd_posix.cc",
|
||||
"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.h",
|
||||
"src/core/lib/promise/activity.cc",
|
||||
|
|
@ -1541,6 +1480,7 @@ let package = Package(
|
|||
"src/core/lib/promise/latch.h",
|
||||
"src/core/lib/promise/loop.h",
|
||||
"src/core/lib/promise/map.h",
|
||||
"src/core/lib/promise/observable.h",
|
||||
"src/core/lib/promise/party.cc",
|
||||
"src/core/lib/promise/party.h",
|
||||
"src/core/lib/promise/pipe.h",
|
||||
|
|
@ -1552,8 +1492,6 @@ let package = Package(
|
|||
"src/core/lib/promise/sleep.cc",
|
||||
"src/core/lib/promise/sleep.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_seq.h",
|
||||
"src/core/lib/resource_quota/api.cc",
|
||||
|
|
@ -1570,8 +1508,6 @@ let package = Package(
|
|||
"src/core/lib/resource_quota/resource_quota.h",
|
||||
"src/core/lib/resource_quota/thread_quota.cc",
|
||||
"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.h",
|
||||
"src/core/lib/security/authorization/authorization_engine.h",
|
||||
|
|
@ -1700,11 +1636,9 @@ let package = Package(
|
|||
"src/core/lib/slice/slice_buffer.cc",
|
||||
"src/core/lib/slice/slice_buffer.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_string_helpers.cc",
|
||||
"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/byte_buffer.cc",
|
||||
"src/core/lib/surface/byte_buffer_reader.cc",
|
||||
|
|
@ -1713,7 +1647,8 @@ let package = Package(
|
|||
"src/core/lib/surface/call_details.cc",
|
||||
"src/core/lib/surface/call_log_batch.cc",
|
||||
"src/core/lib/surface/call_test_only.h",
|
||||
"src/core/lib/surface/call_trace.h",
|
||||
"src/core/lib/surface/call_utils.cc",
|
||||
"src/core/lib/surface/call_utils.h",
|
||||
"src/core/lib/surface/channel.cc",
|
||||
"src/core/lib/surface/channel.h",
|
||||
"src/core/lib/surface/channel_create.cc",
|
||||
|
|
@ -1722,12 +1657,16 @@ let package = Package(
|
|||
"src/core/lib/surface/channel_init.h",
|
||||
"src/core/lib/surface/channel_stack_type.cc",
|
||||
"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.h",
|
||||
"src/core/lib/surface/completion_queue_factory.cc",
|
||||
"src/core/lib/surface/completion_queue_factory.h",
|
||||
"src/core/lib/surface/event_string.cc",
|
||||
"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.h",
|
||||
"src/core/lib/surface/init_internally.cc",
|
||||
|
|
@ -1737,17 +1676,16 @@ let package = Package(
|
|||
"src/core/lib/surface/legacy_channel.cc",
|
||||
"src/core/lib/surface/legacy_channel.h",
|
||||
"src/core/lib/surface/metadata_array.cc",
|
||||
"src/core/lib/surface/server_call.cc",
|
||||
"src/core/lib/surface/server_call.h",
|
||||
"src/core/lib/surface/validate_metadata.cc",
|
||||
"src/core/lib/surface/validate_metadata.h",
|
||||
"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.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.h",
|
||||
"src/core/lib/transport/call_final_info.cc",
|
||||
|
|
@ -1760,6 +1698,8 @@ let package = Package(
|
|||
"src/core/lib/transport/error_utils.cc",
|
||||
"src/core/lib/transport/error_utils.h",
|
||||
"src/core/lib/transport/http2_errors.h",
|
||||
"src/core/lib/transport/interception_chain.cc",
|
||||
"src/core/lib/transport/interception_chain.h",
|
||||
"src/core/lib/transport/message.cc",
|
||||
"src/core/lib/transport/message.h",
|
||||
"src/core/lib/transport/metadata.cc",
|
||||
|
|
@ -1874,8 +1814,6 @@ let package = Package(
|
|||
"src/core/resolver/xds/xds_dependency_manager.h",
|
||||
"src/core/resolver/xds/xds_resolver.cc",
|
||||
"src/core/resolver/xds/xds_resolver_attributes.h",
|
||||
"src/core/resolver/xds/xds_resolver_trace.cc",
|
||||
"src/core/resolver/xds/xds_resolver_trace.h",
|
||||
"src/core/server/server.cc",
|
||||
"src/core/server/server.h",
|
||||
"src/core/server/server_call_tracer_filter.cc",
|
||||
|
|
@ -1894,6 +1832,17 @@ let package = Package(
|
|||
"src/core/service_config/service_config_impl.h",
|
||||
"src/core/service_config/service_config_parser.cc",
|
||||
"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/gsec.cc",
|
||||
"src/core/tsi/alts/crypt/gsec.h",
|
||||
|
|
@ -1952,6 +1901,59 @@ let package = Package(
|
|||
"src/core/tsi/transport_security_grpc.cc",
|
||||
"src/core/tsi/transport_security_grpc.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",
|
||||
|
|
|
|||
|
|
@ -4,16 +4,27 @@ This guide is for troubleshooting gRPC implementations based on C core library (
|
|||
|
||||
## Enabling extra logging and tracing
|
||||
|
||||
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
|
||||
Extra logging can be very useful for diagnosing problems. It can be used to increase the amount of information
|
||||
that gets printed to stderr.
|
||||
|
||||
## GRPC_VERBOSITY
|
||||
|
||||
`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.
|
||||
<!-- 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 -->
|
||||
|
||||
<!-- 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
|
||||
|
||||
<!-- 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
|
||||
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).
|
||||
|
|
|
|||
12
WORKSPACE
12
WORKSPACE
|
|
@ -128,6 +128,12 @@ load("@com_github_google_benchmark//:bazel/benchmark_deps.bzl", "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")
|
||||
|
||||
opentelemetry_cpp_deps()
|
||||
|
|
@ -136,6 +142,12 @@ load("@io_opentelemetry_cpp//bazel:extra_deps.bzl", "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
|
||||
#
|
||||
#http_archive(
|
||||
|
|
|
|||
|
|
@ -14,4 +14,4 @@
|
|||
|
||||
# AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
|
||||
|
||||
__version__ = """1.64.2"""
|
||||
__version__ = """1.65.0.dev0"""
|
||||
|
|
|
|||
100
bazel/copts.bzl
100
bazel/copts.bzl
|
|
@ -57,7 +57,107 @@ GRPC_LLVM_WARNING_FLAGS = [
|
|||
"-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({
|
||||
"//: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": [],
|
||||
})
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
EXPERIMENT_ENABLES = {
|
||||
"call_status_override_on_cancellation": "call_status_override_on_cancellation",
|
||||
"call_v3": "call_v3",
|
||||
"canary_client_privacy": "canary_client_privacy",
|
||||
"client_privacy": "client_privacy",
|
||||
"event_engine_client": "event_engine_client",
|
||||
|
|
@ -28,15 +27,12 @@ EXPERIMENT_ENABLES = {
|
|||
"http2_stats_fix": "http2_stats_fix",
|
||||
"keepalive_fix": "keepalive_fix",
|
||||
"keepalive_server_fix": "keepalive_server_fix",
|
||||
"max_pings_wo_data_throttle": "max_pings_wo_data_throttle",
|
||||
"monitoring_experiment": "monitoring_experiment",
|
||||
"multiping": "multiping",
|
||||
"peer_state_based_framing": "peer_state_based_framing",
|
||||
"pending_queue_cap": "pending_queue_cap",
|
||||
"pick_first_new": "pick_first_new",
|
||||
"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",
|
||||
"promise_based_inproc_transport": "promise_based_inproc_transport",
|
||||
"rstpit": "rstpit",
|
||||
"schedule_cancellation_over_write": "schedule_cancellation_over_write",
|
||||
"server_privacy": "server_privacy",
|
||||
|
|
@ -45,7 +41,7 @@ EXPERIMENT_ENABLES = {
|
|||
"trace_record_callops": "trace_record_callops",
|
||||
"unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size",
|
||||
"work_serializer_clears_time_cache": "work_serializer_clears_time_cache",
|
||||
"work_serializer_dispatch": "event_engine_client,work_serializer_dispatch",
|
||||
"work_serializer_dispatch": "work_serializer_dispatch",
|
||||
}
|
||||
|
||||
EXPERIMENT_POLLERS = [
|
||||
|
|
@ -59,17 +55,10 @@ EXPERIMENTS = {
|
|||
"dbg": {
|
||||
},
|
||||
"off": {
|
||||
"core_end2end_test": [
|
||||
"event_engine_client",
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"endpoint_test": [
|
||||
"tcp_frame_size_tuning",
|
||||
"tcp_rcv_lowat",
|
||||
],
|
||||
"event_engine_client_test": [
|
||||
"event_engine_client",
|
||||
],
|
||||
"flow_control_test": [
|
||||
"multiping",
|
||||
"peer_state_based_framing",
|
||||
|
|
@ -77,27 +66,34 @@ EXPERIMENTS = {
|
|||
"tcp_frame_size_tuning",
|
||||
"tcp_rcv_lowat",
|
||||
],
|
||||
"logging_test": [
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"resource_quota_test": [
|
||||
"free_large_allocator",
|
||||
"unconstrained_max_quota_buffer_size",
|
||||
],
|
||||
},
|
||||
"on": {
|
||||
"cancel_ares_query_test": [
|
||||
"event_engine_dns",
|
||||
],
|
||||
"core_end2end_test": [
|
||||
"event_engine_client",
|
||||
"event_engine_listener",
|
||||
],
|
||||
"cpp_lb_end2end_test": [
|
||||
"pick_first_new",
|
||||
],
|
||||
"event_engine_client_test": [
|
||||
"event_engine_client",
|
||||
],
|
||||
"event_engine_listener_test": [
|
||||
"event_engine_listener",
|
||||
],
|
||||
"lb_unit_test": [
|
||||
"pick_first_new",
|
||||
],
|
||||
"resolver_component_tests_runner_invoker": [
|
||||
"event_engine_dns",
|
||||
],
|
||||
"xds_end2end_test": [
|
||||
"pick_first_new",
|
||||
],
|
||||
|
|
@ -107,9 +103,6 @@ EXPERIMENTS = {
|
|||
"dbg": {
|
||||
},
|
||||
"off": {
|
||||
"core_end2end_test": [
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"endpoint_test": [
|
||||
"tcp_frame_size_tuning",
|
||||
"tcp_rcv_lowat",
|
||||
|
|
@ -121,9 +114,6 @@ EXPERIMENTS = {
|
|||
"tcp_frame_size_tuning",
|
||||
"tcp_rcv_lowat",
|
||||
],
|
||||
"logging_test": [
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"resource_quota_test": [
|
||||
"free_large_allocator",
|
||||
"unconstrained_max_quota_buffer_size",
|
||||
|
|
@ -147,8 +137,6 @@ EXPERIMENTS = {
|
|||
"off": {
|
||||
"core_end2end_test": [
|
||||
"event_engine_client",
|
||||
"promise_based_client_call",
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"endpoint_test": [
|
||||
"tcp_frame_size_tuning",
|
||||
|
|
@ -164,12 +152,6 @@ EXPERIMENTS = {
|
|||
"tcp_frame_size_tuning",
|
||||
"tcp_rcv_lowat",
|
||||
],
|
||||
"lame_client_test": [
|
||||
"promise_based_client_call",
|
||||
],
|
||||
"logging_test": [
|
||||
"promise_based_server_call",
|
||||
],
|
||||
"resource_quota_test": [
|
||||
"free_large_allocator",
|
||||
"unconstrained_max_quota_buffer_size",
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ _generate_cc = rule(
|
|||
mandatory = False,
|
||||
),
|
||||
"_protoc": attr.label(
|
||||
default = Label("//external:protocol_compiler"),
|
||||
default = Label("@com_google_protobuf//:protoc"),
|
||||
executable = True,
|
||||
cfg = "exec",
|
||||
),
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ generate_objc = rule(
|
|||
default = "@com_google_protobuf//:well_known_type_protos",
|
||||
),
|
||||
"_protoc": attr.label(
|
||||
default = Label("//external:protocol_compiler"),
|
||||
default = Label("@com_google_protobuf//:protoc"),
|
||||
executable = True,
|
||||
cfg = "exec",
|
||||
),
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ def if_not_windows(a):
|
|||
return select({
|
||||
"//:windows": [],
|
||||
"//:windows_msvc": [],
|
||||
"//:windows_clang": [],
|
||||
"//conditions:default": a,
|
||||
})
|
||||
|
||||
|
|
@ -52,6 +53,7 @@ def if_windows(a):
|
|||
return select({
|
||||
"//:windows": a,
|
||||
"//:windows_msvc": a,
|
||||
"//:windows_clang": a,
|
||||
"//conditions:default": [],
|
||||
})
|
||||
|
||||
|
|
@ -67,7 +69,7 @@ def _get_external_deps(external_deps):
|
|||
elif dep == "cares":
|
||||
ret += select({
|
||||
"//:grpc_no_ares": [],
|
||||
"//conditions:default": ["//external:cares"],
|
||||
"//conditions:default": ["//third_party:cares"],
|
||||
})
|
||||
elif dep == "cronet_c_for_grpc":
|
||||
ret.append("//third_party/objective_c/Cronet:cronet_c_for_grpc")
|
||||
|
|
@ -82,7 +84,7 @@ def _get_external_deps(external_deps):
|
|||
elif dep == "libprotobuf_mutator":
|
||||
ret.append("@com_google_libprotobuf_mutator//:libprotobuf_mutator")
|
||||
else:
|
||||
ret.append("//external:" + dep)
|
||||
ret.append("//third_party:" + dep)
|
||||
return ret
|
||||
|
||||
def _update_visibility(visibility):
|
||||
|
|
@ -235,6 +237,7 @@ def grpc_proto_library(
|
|||
name,
|
||||
srcs = [],
|
||||
deps = [],
|
||||
visibility = None,
|
||||
well_known_protos = False,
|
||||
has_services = True,
|
||||
use_external = False,
|
||||
|
|
@ -243,6 +246,7 @@ def grpc_proto_library(
|
|||
name = name,
|
||||
srcs = srcs,
|
||||
deps = deps,
|
||||
visibility = visibility,
|
||||
well_known_protos = well_known_protos,
|
||||
proto_only = not has_services,
|
||||
use_external = use_external,
|
||||
|
|
@ -735,6 +739,13 @@ def grpc_package(name, visibility = "private", features = []):
|
|||
features = features,
|
||||
)
|
||||
|
||||
def grpc_filegroup(name, srcs, **kwargs):
|
||||
native.filegroup(
|
||||
name = name,
|
||||
srcs = srcs,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
def grpc_objc_library(
|
||||
name,
|
||||
srcs = [],
|
||||
|
|
@ -793,3 +804,22 @@ def python_config_settings():
|
|||
name = "python3",
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -14,167 +14,12 @@
|
|||
"""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("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps")
|
||||
load("//bazel:grpc_python_deps.bzl", "grpc_python_deps")
|
||||
|
||||
# buildifier: disable=unnamed-macro
|
||||
def grpc_deps():
|
||||
"""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():
|
||||
http_archive(
|
||||
name = "platforms",
|
||||
|
|
@ -190,11 +35,11 @@ def grpc_deps():
|
|||
name = "boringssl",
|
||||
# Use github mirror instead of https://boringssl.googlesource.com/boringssl
|
||||
# to obtain a boringssl archive with consistent sha256
|
||||
sha256 = "c4cccc0ea8b149d2853da77254655c0d5a5739dd4bbdff9a5b586c06a627de6c",
|
||||
strip_prefix = "boringssl-5a2bca2124800f2861263959b72bc35cdf18949b",
|
||||
sha256 = "9f441d72fccb9a3faf96470478c8ccfaaeb8db1cffd4d78b698f782124dad1b0",
|
||||
strip_prefix = "boringssl-b8a2bffc598f230484ff48a247526a9820facfc2",
|
||||
urls = [
|
||||
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
|
||||
"https://github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
|
||||
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/b8a2bffc598f230484ff48a247526a9820facfc2.tar.gz",
|
||||
"https://github.com/google/boringssl/archive/b8a2bffc598f230484ff48a247526a9820facfc2.tar.gz",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -222,6 +67,7 @@ def grpc_deps():
|
|||
],
|
||||
patches = [
|
||||
"@com_github_grpc_grpc//third_party:protobuf.patch",
|
||||
"@com_github_grpc_grpc//third_party:protobuf.10007.patch",
|
||||
],
|
||||
patch_args = ["-p1"],
|
||||
)
|
||||
|
|
@ -495,15 +341,6 @@ def grpc_test_only_deps():
|
|||
|
||||
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():
|
||||
http_archive(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2018 gRPC authors.
|
||||
# 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.
|
||||
|
|
@ -12,28 +12,26 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_package")
|
||||
|
||||
grpc_package(name = "test/core/debug")
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
grpc_cc_test(
|
||||
name = "stats_test",
|
||||
timeout = "long",
|
||||
srcs = ["stats_test.cc"],
|
||||
external_deps = [
|
||||
"gtest",
|
||||
],
|
||||
language = "C++",
|
||||
tags = [
|
||||
"cpu:10",
|
||||
],
|
||||
uses_event_engine = False,
|
||||
uses_polling = False,
|
||||
deps = [
|
||||
"//:gpr",
|
||||
"//:grpc",
|
||||
"//test/core/test_util:grpc_test_util",
|
||||
platform(
|
||||
name = "x86_64",
|
||||
constraint_values = [
|
||||
"@platforms//os:android",
|
||||
"@platforms//cpu:x86_64",
|
||||
],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "arm64-v8a",
|
||||
constraint_values = [
|
||||
"@platforms//os:android",
|
||||
"@platforms//cpu:arm64",
|
||||
],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "armeabi-v7a",
|
||||
constraint_values = [
|
||||
"@platforms//os:android",
|
||||
"@platforms//cpu:armv7",
|
||||
],
|
||||
)
|
||||
|
|
@ -110,7 +110,7 @@ _gen_py_aspect = aspect(
|
|||
fragments = ["py"],
|
||||
attrs = {
|
||||
"_protoc": attr.label(
|
||||
default = Label("//external:protocol_compiler"),
|
||||
default = Label("@com_google_protobuf//:protoc"),
|
||||
providers = ["files_to_run"],
|
||||
executable = True,
|
||||
cfg = "exec",
|
||||
|
|
@ -166,7 +166,7 @@ py_proto_library = rule(
|
|||
aspects = [_gen_py_aspect],
|
||||
),
|
||||
"_protoc": attr.label(
|
||||
default = Label("//external:protocol_compiler"),
|
||||
default = Label("@com_google_protobuf//:protoc"),
|
||||
providers = ["files_to_run"],
|
||||
executable = True,
|
||||
cfg = "exec",
|
||||
|
|
@ -259,7 +259,7 @@ _generate_pb2_grpc_src = rule(
|
|||
executable = True,
|
||||
providers = ["files_to_run"],
|
||||
cfg = "exec",
|
||||
default = Label("//external:protocol_compiler"),
|
||||
default = Label("@com_google_protobuf//:protoc"),
|
||||
),
|
||||
"grpc_library": attr.label(
|
||||
default = Label("//src/python/grpcio/grpc:grpcio"),
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,5 +13,5 @@
|
|||
# limitations under the License.
|
||||
|
||||
module GrpcBuildConfig
|
||||
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-41.dll'
|
||||
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-42.dll'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ settings:
|
|||
'#08': Use "-preN" suffixes to identify pre-release versions
|
||||
'#09': Per-language overrides are possible with (eg) ruby_version tag here
|
||||
'#10': See the expand_version.py for all the quirks here
|
||||
core_version: 41.0.0
|
||||
core_version: 42.0.0
|
||||
csharp_major_version: 2
|
||||
g_stands_for: grateful
|
||||
g_stands_for: gnarly
|
||||
protobuf_version: 3.26.1
|
||||
version: 1.64.2
|
||||
version: 1.65.0-dev
|
||||
configs:
|
||||
asan:
|
||||
CC: clang
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/channelz/channelz.cc \
|
||||
src/core/channelz/channelz_registry.cc \
|
||||
src/core/client_channel/backup_poller.cc \
|
||||
src/core/client_channel/client_channel.cc \
|
||||
src/core/client_channel/client_channel_factory.cc \
|
||||
src/core/client_channel/client_channel_filter.cc \
|
||||
src/core/client_channel/client_channel_plugin.cc \
|
||||
|
|
@ -52,6 +53,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/client_channel/config_selector.cc \
|
||||
src/core/client_channel/dynamic_filters.cc \
|
||||
src/core/client_channel/global_subchannel_pool.cc \
|
||||
src/core/client_channel/load_balanced_call_destination.cc \
|
||||
src/core/client_channel/local_subchannel_pool.cc \
|
||||
src/core/client_channel/retry_filter.cc \
|
||||
src/core/client_channel/retry_filter_legacy_call_data.cc \
|
||||
|
|
@ -76,7 +78,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/ext/filters/rbac/rbac_service_config_parser.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/gcp/metadata_query.cc \
|
||||
src/core/ext/transport/chttp2/alpn/alpn.cc \
|
||||
src/core/ext/transport/chttp2/client/chttp2_connector.cc \
|
||||
src/core/ext/transport/chttp2/server/chttp2_server.cc \
|
||||
|
|
@ -98,7 +99,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
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/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/max_concurrent_streams_policy.cc \
|
||||
src/core/ext/transport/chttp2/transport/parsing.cc \
|
||||
|
|
@ -109,7 +109,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/ext/transport/chttp2/transport/varint.cc \
|
||||
src/core/ext/transport/chttp2/transport/write_size_policy.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/legacy_inproc_transport.cc \
|
||||
src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
|
||||
|
|
@ -437,21 +436,17 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/handshaker/proxy_mapper_registry.cc \
|
||||
src/core/handshaker/security/secure_endpoint.cc \
|
||||
src/core/handshaker/security/security_handshaker.cc \
|
||||
src/core/handshaker/security/tsi_error.cc \
|
||||
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \
|
||||
src/core/lib/address_utils/parse_address.cc \
|
||||
src/core/lib/address_utils/sockaddr_utils.cc \
|
||||
src/core/lib/backoff/backoff.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_preconditioning.cc \
|
||||
src/core/lib/channel/channel_stack.cc \
|
||||
src/core/lib/channel/channel_stack_builder.cc \
|
||||
src/core/lib/channel/channel_stack_builder_impl.cc \
|
||||
src/core/lib/channel/channel_stack_trace.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/status_util.cc \
|
||||
src/core/lib/compression/compression.cc \
|
||||
|
|
@ -462,10 +457,8 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/config/core_configuration.cc \
|
||||
src/core/lib/config/load_config.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_flags.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/cfstream_endpoint.cc \
|
||||
|
|
@ -504,7 +497,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
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/time_util.cc \
|
||||
src/core/lib/event_engine/trace.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/iocp.cc \
|
||||
|
|
@ -516,35 +508,11 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/event_engine/work_queue/basic_work_queue.cc \
|
||||
src/core/lib/experiments/config.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/dump_args.cc \
|
||||
src/core/lib/gprpp/examine_stack.cc \
|
||||
src/core/lib/gprpp/fork.cc \
|
||||
src/core/lib/gprpp/glob.cc \
|
||||
src/core/lib/gprpp/host_port.cc \
|
||||
src/core/lib/gprpp/linux/env.cc \
|
||||
src/core/lib/gprpp/load_file.cc \
|
||||
|
|
@ -568,10 +536,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/gprpp/windows/stat.cc \
|
||||
src/core/lib/gprpp/windows/thd.cc \
|
||||
src/core/lib/gprpp/work_serializer.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/call_combiner.cc \
|
||||
src/core/lib/iomgr/cfstream_handle.cc \
|
||||
|
|
@ -588,7 +552,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/iomgr/ev_epoll1_linux.cc \
|
||||
src/core/lib/iomgr/ev_poll_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/endpoint.cc \
|
||||
src/core/lib/iomgr/event_engine_shims/tcp_client.cc \
|
||||
|
|
@ -649,15 +612,10 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
|
||||
src/core/lib/iomgr/wakeup_fd_pipe.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/promise/activity.cc \
|
||||
src/core/lib/promise/party.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/arena.cc \
|
||||
src/core/lib/resource_quota/connection_quota.cc \
|
||||
|
|
@ -665,7 +623,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/resource_quota/periodic_update.cc \
|
||||
src/core/lib/resource_quota/resource_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/authorization_policy_provider_vtable.cc \
|
||||
src/core/lib/security/authorization/evaluate_args.cc \
|
||||
|
|
@ -731,30 +688,30 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/slice/percent_encoding.cc \
|
||||
src/core/lib/slice/slice.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/surface/api_trace.cc \
|
||||
src/core/lib/surface/byte_buffer.cc \
|
||||
src/core/lib/surface/byte_buffer_reader.cc \
|
||||
src/core/lib/surface/call.cc \
|
||||
src/core/lib/surface/call_details.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_create.cc \
|
||||
src/core/lib/surface/channel_init.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_factory.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_internally.cc \
|
||||
src/core/lib/surface/lame_client.cc \
|
||||
src/core/lib/surface/legacy_channel.cc \
|
||||
src/core/lib/surface/metadata_array.cc \
|
||||
src/core/lib/surface/server_call.cc \
|
||||
src/core/lib/surface/validate_metadata.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/call_arena_allocator.cc \
|
||||
src/core/lib/transport/call_filters.cc \
|
||||
|
|
@ -762,6 +719,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/lib/transport/call_spine.cc \
|
||||
src/core/lib/transport/connectivity_state.cc \
|
||||
src/core/lib/transport/error_utils.cc \
|
||||
src/core/lib/transport/interception_chain.cc \
|
||||
src/core/lib/transport/message.cc \
|
||||
src/core/lib/transport/metadata.cc \
|
||||
src/core/lib/transport/metadata_batch.cc \
|
||||
|
|
@ -821,7 +779,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/resolver/sockaddr/sockaddr_resolver.cc \
|
||||
src/core/resolver/xds/xds_dependency_manager.cc \
|
||||
src/core/resolver/xds/xds_resolver.cc \
|
||||
src/core/resolver/xds/xds_resolver_trace.cc \
|
||||
src/core/server/server.cc \
|
||||
src/core/server/server_call_tracer_filter.cc \
|
||||
src/core/server/server_config_selector_filter.cc \
|
||||
|
|
@ -830,6 +787,11 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/service_config/service_config_channel_arg_filter.cc \
|
||||
src/core/service_config/service_config_impl.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/gsec.cc \
|
||||
src/core/tsi/alts/frame_protector/alts_counter.cc \
|
||||
|
|
@ -859,6 +821,41 @@ if test "$PHP_GRPC" != "no"; then
|
|||
src/core/tsi/ssl_transport_security_utils.cc \
|
||||
src/core/tsi/transport_security.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 \
|
||||
|
|
@ -1111,6 +1108,7 @@ 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/params.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_asn1.c \
|
||||
third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \
|
||||
|
|
@ -1383,7 +1381,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
|
||||
-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
|
||||
-DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
|
||||
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.64.2\""')
|
||||
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.65.0dev\""')
|
||||
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/src/core/channelz)
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel)
|
||||
|
|
@ -1398,7 +1396,6 @@ if test "$PHP_GRPC" != "no"; then
|
|||
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/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/client)
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server)
|
||||
|
|
@ -1525,21 +1522,12 @@ 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/work_queue)
|
||||
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/linux)
|
||||
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/http)
|
||||
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/json)
|
||||
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/resource_quota)
|
||||
|
|
@ -1598,6 +1586,7 @@ if test "$PHP_GRPC" != "no"; then
|
|||
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/telemetry)
|
||||
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/frame_protector)
|
||||
|
|
@ -1605,6 +1594,15 @@ 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/ssl/key_logging)
|
||||
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)
|
||||
|
|
@ -1650,6 +1648,7 @@ 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/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/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/ec_extra)
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/ecdh_extra)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\channelz\\channelz.cc " +
|
||||
"src\\core\\channelz\\channelz_registry.cc " +
|
||||
"src\\core\\client_channel\\backup_poller.cc " +
|
||||
"src\\core\\client_channel\\client_channel.cc " +
|
||||
"src\\core\\client_channel\\client_channel_factory.cc " +
|
||||
"src\\core\\client_channel\\client_channel_filter.cc " +
|
||||
"src\\core\\client_channel\\client_channel_plugin.cc " +
|
||||
|
|
@ -17,6 +18,7 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\client_channel\\config_selector.cc " +
|
||||
"src\\core\\client_channel\\dynamic_filters.cc " +
|
||||
"src\\core\\client_channel\\global_subchannel_pool.cc " +
|
||||
"src\\core\\client_channel\\load_balanced_call_destination.cc " +
|
||||
"src\\core\\client_channel\\local_subchannel_pool.cc " +
|
||||
"src\\core\\client_channel\\retry_filter.cc " +
|
||||
"src\\core\\client_channel\\retry_filter_legacy_call_data.cc " +
|
||||
|
|
@ -41,7 +43,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\ext\\filters\\rbac\\rbac_service_config_parser.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\\gcp\\metadata_query.cc " +
|
||||
"src\\core\\ext\\transport\\chttp2\\alpn\\alpn.cc " +
|
||||
"src\\core\\ext\\transport\\chttp2\\client\\chttp2_connector.cc " +
|
||||
"src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.cc " +
|
||||
|
|
@ -63,7 +64,6 @@ if (PHP_GRPC != "no") {
|
|||
"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\\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\\max_concurrent_streams_policy.cc " +
|
||||
"src\\core\\ext\\transport\\chttp2\\transport\\parsing.cc " +
|
||||
|
|
@ -74,7 +74,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\ext\\transport\\chttp2\\transport\\varint.cc " +
|
||||
"src\\core\\ext\\transport\\chttp2\\transport\\write_size_policy.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\\legacy_inproc_transport.cc " +
|
||||
"src\\core\\ext\\upb-gen\\envoy\\admin\\v3\\certs.upb_minitable.c " +
|
||||
|
|
@ -402,21 +401,17 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\handshaker\\proxy_mapper_registry.cc " +
|
||||
"src\\core\\handshaker\\security\\secure_endpoint.cc " +
|
||||
"src\\core\\handshaker\\security\\security_handshaker.cc " +
|
||||
"src\\core\\handshaker\\security\\tsi_error.cc " +
|
||||
"src\\core\\handshaker\\tcp_connect\\tcp_connect_handshaker.cc " +
|
||||
"src\\core\\lib\\address_utils\\parse_address.cc " +
|
||||
"src\\core\\lib\\address_utils\\sockaddr_utils.cc " +
|
||||
"src\\core\\lib\\backoff\\backoff.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_preconditioning.cc " +
|
||||
"src\\core\\lib\\channel\\channel_stack.cc " +
|
||||
"src\\core\\lib\\channel\\channel_stack_builder.cc " +
|
||||
"src\\core\\lib\\channel\\channel_stack_builder_impl.cc " +
|
||||
"src\\core\\lib\\channel\\channel_stack_trace.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\\status_util.cc " +
|
||||
"src\\core\\lib\\compression\\compression.cc " +
|
||||
|
|
@ -427,10 +422,8 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\config\\core_configuration.cc " +
|
||||
"src\\core\\lib\\config\\load_config.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_flags.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\\cfstream_endpoint.cc " +
|
||||
|
|
@ -469,7 +462,6 @@ if (PHP_GRPC != "no") {
|
|||
"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\\time_util.cc " +
|
||||
"src\\core\\lib\\event_engine\\trace.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\\iocp.cc " +
|
||||
|
|
@ -481,35 +473,11 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\event_engine\\work_queue\\basic_work_queue.cc " +
|
||||
"src\\core\\lib\\experiments\\config.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\\dump_args.cc " +
|
||||
"src\\core\\lib\\gprpp\\examine_stack.cc " +
|
||||
"src\\core\\lib\\gprpp\\fork.cc " +
|
||||
"src\\core\\lib\\gprpp\\glob.cc " +
|
||||
"src\\core\\lib\\gprpp\\host_port.cc " +
|
||||
"src\\core\\lib\\gprpp\\linux\\env.cc " +
|
||||
"src\\core\\lib\\gprpp\\load_file.cc " +
|
||||
|
|
@ -533,10 +501,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\gprpp\\windows\\stat.cc " +
|
||||
"src\\core\\lib\\gprpp\\windows\\thd.cc " +
|
||||
"src\\core\\lib\\gprpp\\work_serializer.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\\call_combiner.cc " +
|
||||
"src\\core\\lib\\iomgr\\cfstream_handle.cc " +
|
||||
|
|
@ -553,7 +517,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\iomgr\\ev_epoll1_linux.cc " +
|
||||
"src\\core\\lib\\iomgr\\ev_poll_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\\endpoint.cc " +
|
||||
"src\\core\\lib\\iomgr\\event_engine_shims\\tcp_client.cc " +
|
||||
|
|
@ -614,15 +577,10 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " +
|
||||
"src\\core\\lib\\iomgr\\wakeup_fd_pipe.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\\promise\\activity.cc " +
|
||||
"src\\core\\lib\\promise\\party.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\\arena.cc " +
|
||||
"src\\core\\lib\\resource_quota\\connection_quota.cc " +
|
||||
|
|
@ -630,7 +588,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\resource_quota\\periodic_update.cc " +
|
||||
"src\\core\\lib\\resource_quota\\resource_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\\authorization_policy_provider_vtable.cc " +
|
||||
"src\\core\\lib\\security\\authorization\\evaluate_args.cc " +
|
||||
|
|
@ -696,30 +653,30 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\slice\\percent_encoding.cc " +
|
||||
"src\\core\\lib\\slice\\slice.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\\surface\\api_trace.cc " +
|
||||
"src\\core\\lib\\surface\\byte_buffer.cc " +
|
||||
"src\\core\\lib\\surface\\byte_buffer_reader.cc " +
|
||||
"src\\core\\lib\\surface\\call.cc " +
|
||||
"src\\core\\lib\\surface\\call_details.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_create.cc " +
|
||||
"src\\core\\lib\\surface\\channel_init.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_factory.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_internally.cc " +
|
||||
"src\\core\\lib\\surface\\lame_client.cc " +
|
||||
"src\\core\\lib\\surface\\legacy_channel.cc " +
|
||||
"src\\core\\lib\\surface\\metadata_array.cc " +
|
||||
"src\\core\\lib\\surface\\server_call.cc " +
|
||||
"src\\core\\lib\\surface\\validate_metadata.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\\call_arena_allocator.cc " +
|
||||
"src\\core\\lib\\transport\\call_filters.cc " +
|
||||
|
|
@ -727,6 +684,7 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\lib\\transport\\call_spine.cc " +
|
||||
"src\\core\\lib\\transport\\connectivity_state.cc " +
|
||||
"src\\core\\lib\\transport\\error_utils.cc " +
|
||||
"src\\core\\lib\\transport\\interception_chain.cc " +
|
||||
"src\\core\\lib\\transport\\message.cc " +
|
||||
"src\\core\\lib\\transport\\metadata.cc " +
|
||||
"src\\core\\lib\\transport\\metadata_batch.cc " +
|
||||
|
|
@ -786,7 +744,6 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\resolver\\sockaddr\\sockaddr_resolver.cc " +
|
||||
"src\\core\\resolver\\xds\\xds_dependency_manager.cc " +
|
||||
"src\\core\\resolver\\xds\\xds_resolver.cc " +
|
||||
"src\\core\\resolver\\xds\\xds_resolver_trace.cc " +
|
||||
"src\\core\\server\\server.cc " +
|
||||
"src\\core\\server\\server_call_tracer_filter.cc " +
|
||||
"src\\core\\server\\server_config_selector_filter.cc " +
|
||||
|
|
@ -795,6 +752,11 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\service_config\\service_config_channel_arg_filter.cc " +
|
||||
"src\\core\\service_config\\service_config_impl.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\\gsec.cc " +
|
||||
"src\\core\\tsi\\alts\\frame_protector\\alts_counter.cc " +
|
||||
|
|
@ -824,6 +786,41 @@ if (PHP_GRPC != "no") {
|
|||
"src\\core\\tsi\\ssl_transport_security_utils.cc " +
|
||||
"src\\core\\tsi\\transport_security.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 " +
|
||||
|
|
@ -1076,6 +1073,7 @@ 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\\params.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_asn1.c " +
|
||||
"third_party\\boringssl-with-bazel\\src\\crypto\\ec_extra\\ec_asn1.c " +
|
||||
|
|
@ -1392,7 +1390,6 @@ if (PHP_GRPC != "no") {
|
|||
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\\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\\chttp2");
|
||||
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\chttp2\\alpn");
|
||||
|
|
@ -1662,21 +1659,12 @@ 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\\work_queue");
|
||||
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\\linux");
|
||||
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\\http");
|
||||
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\\json");
|
||||
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\\resource_quota");
|
||||
|
|
@ -1736,6 +1724,7 @@ if (PHP_GRPC != "no") {
|
|||
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\\telemetry");
|
||||
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\\crypt");
|
||||
|
|
@ -1745,6 +1734,15 @@ if (PHP_GRPC != "no") {
|
|||
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\\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");
|
||||
|
|
@ -1803,6 +1801,7 @@ 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\\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\\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\\ec_extra");
|
||||
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\ecdh_extra");
|
||||
|
|
|
|||
|
|
@ -41,110 +41,29 @@ some configuration as environment variables that can be set.
|
|||
- legacy - the (deprecated) original polling engine for gRPC
|
||||
|
||||
* GRPC_TRACE
|
||||
A comma separated list of tracers that provide additional insight into how
|
||||
gRPC C core is processing requests via debug logs. Available tracers include:
|
||||
- api - traces api calls to the C core
|
||||
- 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
|
||||
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 and their usage can be found in
|
||||
[gRPC Trace Flags](trace_flags.md)
|
||||
|
||||
* GRPC_VERBOSITY
|
||||
Default gRPC logging verbosity - one of:
|
||||
- DEBUG - log all gRPC messages
|
||||
- INFO - log INFO and ERROR message
|
||||
- ERROR - log only errors (default)
|
||||
- NONE - won't log any
|
||||
<!-- 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 -->
|
||||
|
||||
<!-- 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
|
||||
Minimum loglevel to print the stack-trace - one of DEBUG, INFO, ERROR, and NONE.
|
||||
|
|
|
|||
|
|
@ -64,3 +64,4 @@
|
|||
- 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.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/v1.64.x)
|
||||
- 1.65 'g' stands for ['gnarly'](https://github.com/grpc/grpc/tree/master)
|
||||
|
|
|
|||
|
|
@ -71,11 +71,12 @@ 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 | |
|
||||
[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 |
|
||||
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 |
|
||||
[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 | |
|
||||
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 |
|
||||
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.57.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.65.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 | | | |
|
||||
|
|
|
|||
|
|
@ -0,0 +1,120 @@
|
|||
<!---
|
||||
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
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
```
|
||||
bazel build \
|
||||
--extra_toolchains=@androidndk//:all \
|
||||
--android_platforms=//:android_x86_64,//:android_armv7,//:android_arm64 \
|
||||
--android_platforms=//bazel/platforms/android:x86_64,//bazel/platforms/android:armeabi-v7a,//bazel/platforms/android:arm64-v8a \
|
||||
--copt=-Wno-unknown-warning-option \
|
||||
//examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \
|
||||
//examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
# 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",
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
# 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()
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# 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
|
||||
```
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
-----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-----
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
-----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-----
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
-----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-----
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
*
|
||||
* 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();
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
*
|
||||
* 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_
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
// 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;
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
# 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",
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# 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"]
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# 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"]
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
# 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`
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
licenses(["notice"])
|
||||
|
||||
package(
|
||||
default_visibility = ["//examples/cpp/otel:__subpackages__"],
|
||||
default_visibility = ["//examples/cpp:__subpackages__"],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ objc_grpc_library(
|
|||
deps = ["//examples/protos:helloworld_proto"],
|
||||
)
|
||||
|
||||
# This one works with import "external/com_github_grpc_grpc/examples/protos/Keyvaluestore.pbrpc.h"
|
||||
# This one works with import "third_party/com_github_grpc_grpc/examples/protos/Keyvaluestore.pbrpc.h"
|
||||
objc_grpc_library(
|
||||
name = "Keyvaluestore_grpc_proto_external",
|
||||
srcs = ["//external/com_github_grpc_grpc/examples/protos:keyvaluestore.proto"],
|
||||
srcs = ["//third_party/com_github_grpc_grpc/examples/protos:keyvaluestore.proto"],
|
||||
tags = ["manual"],
|
||||
deps = ["@com_github_grpc_grpc//examples/protos:keyvaluestore_proto"],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
# 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"),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
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"]
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
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"]
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
# 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`.
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
# 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)
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
# 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,
|
||||
)
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
Pod::Spec.new do |s|
|
||||
s.name = 'gRPC-C++'
|
||||
# TODO (mxyan): use version that match gRPC version when pod is stabilized
|
||||
version = '1.64.2'
|
||||
version = '1.65.0-dev'
|
||||
s.version = version
|
||||
s.summary = 'gRPC C++ library'
|
||||
s.homepage = 'https://grpc.io'
|
||||
|
|
@ -176,6 +176,7 @@ Pod::Spec.new do |s|
|
|||
'include/grpcpp/impl/service_type.h',
|
||||
'include/grpcpp/impl/status.h',
|
||||
'include/grpcpp/impl/sync.h',
|
||||
'include/grpcpp/passive_listener.h',
|
||||
'include/grpcpp/resource_quota.h',
|
||||
'include/grpcpp/security/audit_logging.h',
|
||||
'include/grpcpp/security/auth_context.h',
|
||||
|
|
@ -269,6 +270,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/channelz/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_filter.h',
|
||||
'src/core/client_channel/client_channel_internal.h',
|
||||
|
|
@ -277,6 +279,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/client_channel/connector.h',
|
||||
'src/core/client_channel/dynamic_filters.h',
|
||||
'src/core/client_channel/global_subchannel_pool.h',
|
||||
'src/core/client_channel/load_balanced_call_destination.h',
|
||||
'src/core/client_channel/local_subchannel_pool.h',
|
||||
'src/core/client_channel/retry_filter.h',
|
||||
'src/core/client_channel/retry_filter_legacy_call_data.h',
|
||||
|
|
@ -301,7 +304,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/ext/filters/rbac/rbac_service_config_parser.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/gcp/metadata_query.h',
|
||||
'src/core/ext/transport/binder/client/binder_connector.cc',
|
||||
'src/core/ext/transport/binder/client/binder_connector.h',
|
||||
'src/core/ext/transport/binder/client/channel_create.cc',
|
||||
|
|
@ -363,7 +365,6 @@ Pod::Spec.new do |s|
|
|||
'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/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/internal.h',
|
||||
'src/core/ext/transport/chttp2/transport/legacy_frame.h',
|
||||
|
|
@ -867,7 +868,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/handshaker/proxy_mapper_registry.h',
|
||||
'src/core/handshaker/security/secure_endpoint.h',
|
||||
'src/core/handshaker/security/security_handshaker.h',
|
||||
'src/core/handshaker/security/tsi_error.h',
|
||||
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h',
|
||||
'src/core/lib/address_utils/parse_address.h',
|
||||
'src/core/lib/address_utils/sockaddr_utils.h',
|
||||
|
|
@ -875,30 +875,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/backoff/backoff.h',
|
||||
'src/core/lib/backoff/random_early_detection.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_preconditioning.h',
|
||||
'src/core/lib/channel/channel_fwd.h',
|
||||
'src/core/lib/channel/channel_stack.h',
|
||||
'src/core/lib/channel/channel_stack_builder.h',
|
||||
'src/core/lib/channel/channel_stack_builder_impl.h',
|
||||
'src/core/lib/channel/channel_stack_trace.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/status_util.h',
|
||||
'src/core/lib/channel/tcp_tracer.h',
|
||||
'src/core/lib/compression/compression_internal.h',
|
||||
'src/core/lib/compression/message_compress.h',
|
||||
'src/core/lib/config/config_vars.h',
|
||||
'src/core/lib/config/core_configuration.h',
|
||||
'src/core/lib/config/load_config.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_flags.h',
|
||||
'src/core/lib/debug/trace_impl.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/cfstream_endpoint.h',
|
||||
|
|
@ -912,6 +906,7 @@ Pod::Spec.new do |s|
|
|||
'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/supports_fd.h',
|
||||
'src/core/lib/event_engine/extensions/tcp_trace.h',
|
||||
'src/core/lib/event_engine/forkable.h',
|
||||
'src/core/lib/event_engine/grpc_polled_fd.h',
|
||||
'src/core/lib/event_engine/handle_containers.h',
|
||||
|
|
@ -965,12 +960,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/event_engine/work_queue/work_queue.h',
|
||||
'src/core/lib/experiments/config.h',
|
||||
'src/core/lib/experiments/experiments.h',
|
||||
'src/core/lib/gpr/alloc.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/bitset.h',
|
||||
'src/core/lib/gprpp/chunked_vector.h',
|
||||
|
|
@ -981,9 +970,11 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/directory_reader.h',
|
||||
'src/core/lib/gprpp/down_cast.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/examine_stack.h',
|
||||
'src/core/lib/gprpp/fork.h',
|
||||
'src/core/lib/gprpp/glob.h',
|
||||
'src/core/lib/gprpp/host_port.h',
|
||||
'src/core/lib/gprpp/if_list.h',
|
||||
'src/core/lib/gprpp/load_file.h',
|
||||
|
|
@ -1018,10 +1009,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/validation_errors.h',
|
||||
'src/core/lib/gprpp/work_serializer.h',
|
||||
'src/core/lib/gprpp/xxhash_inline.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/buffer_list.h',
|
||||
'src/core/lib/iomgr/call_combiner.h',
|
||||
|
|
@ -1087,13 +1074,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/iomgr/vsock.h',
|
||||
'src/core/lib/iomgr/wakeup_fd_pipe.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/promise/activity.h',
|
||||
'src/core/lib/promise/all_ok.h',
|
||||
|
|
@ -1113,6 +1093,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/latch.h',
|
||||
'src/core/lib/promise/loop.h',
|
||||
'src/core/lib/promise/map.h',
|
||||
'src/core/lib/promise/observable.h',
|
||||
'src/core/lib/promise/party.h',
|
||||
'src/core/lib/promise/pipe.h',
|
||||
'src/core/lib/promise/poll.h',
|
||||
|
|
@ -1122,7 +1103,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/seq.h',
|
||||
'src/core/lib/promise/sleep.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_seq.h',
|
||||
'src/core/lib/resource_quota/api.h',
|
||||
|
|
@ -1132,7 +1112,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/resource_quota/periodic_update.h',
|
||||
'src/core/lib/resource_quota/resource_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/authorization_engine.h',
|
||||
'src/core/lib/security/authorization/authorization_policy_provider.h',
|
||||
|
|
@ -1197,23 +1176,25 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/api_trace.h',
|
||||
'src/core/lib/surface/call.h',
|
||||
'src/core/lib/surface/call_test_only.h',
|
||||
'src/core/lib/surface/call_trace.h',
|
||||
'src/core/lib/surface/call_utils.h',
|
||||
'src/core/lib/surface/channel.h',
|
||||
'src/core/lib/surface/channel_create.h',
|
||||
'src/core/lib/surface/channel_init.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_factory.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_internally.h',
|
||||
'src/core/lib/surface/lame_client.h',
|
||||
'src/core/lib/surface/legacy_channel.h',
|
||||
'src/core/lib/surface/server_call.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/call_arena_allocator.h',
|
||||
'src/core/lib/transport/call_destination.h',
|
||||
'src/core/lib/transport/call_filters.h',
|
||||
'src/core/lib/transport/call_final_info.h',
|
||||
'src/core/lib/transport/call_spine.h',
|
||||
|
|
@ -1221,6 +1202,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/transport/custom_metadata.h',
|
||||
'src/core/lib/transport/error_utils.h',
|
||||
'src/core/lib/transport/http2_errors.h',
|
||||
'src/core/lib/transport/interception_chain.h',
|
||||
'src/core/lib/transport/message.h',
|
||||
'src/core/lib/transport/metadata.h',
|
||||
'src/core/lib/transport/metadata_batch.h',
|
||||
|
|
@ -1276,7 +1258,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/resolver/server_address.h',
|
||||
'src/core/resolver/xds/xds_dependency_manager.h',
|
||||
'src/core/resolver/xds/xds_resolver_attributes.h',
|
||||
'src/core/resolver/xds/xds_resolver_trace.h',
|
||||
'src/core/server/server.h',
|
||||
'src/core/server/server_call_tracer_filter.h',
|
||||
'src/core/server/server_config_selector.h',
|
||||
|
|
@ -1287,6 +1268,12 @@ Pod::Spec.new do |s|
|
|||
'src/core/service_config/service_config_call_data.h',
|
||||
'src/core/service_config/service_config_impl.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/frame_protector/alts_counter.h',
|
||||
'src/core/tsi/alts/frame_protector/alts_crypter.h',
|
||||
|
|
@ -1316,6 +1303,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.h',
|
||||
'src/core/tsi/transport_security_grpc.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',
|
||||
|
|
@ -1556,6 +1561,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/channelz/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_filter.h',
|
||||
'src/core/client_channel/client_channel_internal.h',
|
||||
|
|
@ -1564,6 +1570,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/client_channel/connector.h',
|
||||
'src/core/client_channel/dynamic_filters.h',
|
||||
'src/core/client_channel/global_subchannel_pool.h',
|
||||
'src/core/client_channel/load_balanced_call_destination.h',
|
||||
'src/core/client_channel/local_subchannel_pool.h',
|
||||
'src/core/client_channel/retry_filter.h',
|
||||
'src/core/client_channel/retry_filter_legacy_call_data.h',
|
||||
|
|
@ -1588,7 +1595,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/ext/filters/rbac/rbac_service_config_parser.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/gcp/metadata_query.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/connection_id_generator.h',
|
||||
|
|
@ -1632,7 +1638,6 @@ Pod::Spec.new do |s|
|
|||
'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/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/internal.h',
|
||||
'src/core/ext/transport/chttp2/transport/legacy_frame.h',
|
||||
|
|
@ -2136,7 +2141,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/handshaker/proxy_mapper_registry.h',
|
||||
'src/core/handshaker/security/secure_endpoint.h',
|
||||
'src/core/handshaker/security/security_handshaker.h',
|
||||
'src/core/handshaker/security/tsi_error.h',
|
||||
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h',
|
||||
'src/core/lib/address_utils/parse_address.h',
|
||||
'src/core/lib/address_utils/sockaddr_utils.h',
|
||||
|
|
@ -2144,30 +2148,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/backoff/backoff.h',
|
||||
'src/core/lib/backoff/random_early_detection.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_preconditioning.h',
|
||||
'src/core/lib/channel/channel_fwd.h',
|
||||
'src/core/lib/channel/channel_stack.h',
|
||||
'src/core/lib/channel/channel_stack_builder.h',
|
||||
'src/core/lib/channel/channel_stack_builder_impl.h',
|
||||
'src/core/lib/channel/channel_stack_trace.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/status_util.h',
|
||||
'src/core/lib/channel/tcp_tracer.h',
|
||||
'src/core/lib/compression/compression_internal.h',
|
||||
'src/core/lib/compression/message_compress.h',
|
||||
'src/core/lib/config/config_vars.h',
|
||||
'src/core/lib/config/core_configuration.h',
|
||||
'src/core/lib/config/load_config.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_flags.h',
|
||||
'src/core/lib/debug/trace_impl.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/cfstream_endpoint.h',
|
||||
|
|
@ -2181,6 +2179,7 @@ Pod::Spec.new do |s|
|
|||
'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/supports_fd.h',
|
||||
'src/core/lib/event_engine/extensions/tcp_trace.h',
|
||||
'src/core/lib/event_engine/forkable.h',
|
||||
'src/core/lib/event_engine/grpc_polled_fd.h',
|
||||
'src/core/lib/event_engine/handle_containers.h',
|
||||
|
|
@ -2234,12 +2233,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/event_engine/work_queue/work_queue.h',
|
||||
'src/core/lib/experiments/config.h',
|
||||
'src/core/lib/experiments/experiments.h',
|
||||
'src/core/lib/gpr/alloc.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/bitset.h',
|
||||
'src/core/lib/gprpp/chunked_vector.h',
|
||||
|
|
@ -2250,9 +2243,11 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/directory_reader.h',
|
||||
'src/core/lib/gprpp/down_cast.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/examine_stack.h',
|
||||
'src/core/lib/gprpp/fork.h',
|
||||
'src/core/lib/gprpp/glob.h',
|
||||
'src/core/lib/gprpp/host_port.h',
|
||||
'src/core/lib/gprpp/if_list.h',
|
||||
'src/core/lib/gprpp/load_file.h',
|
||||
|
|
@ -2287,10 +2282,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/validation_errors.h',
|
||||
'src/core/lib/gprpp/work_serializer.h',
|
||||
'src/core/lib/gprpp/xxhash_inline.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/buffer_list.h',
|
||||
'src/core/lib/iomgr/call_combiner.h',
|
||||
|
|
@ -2356,13 +2347,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/iomgr/vsock.h',
|
||||
'src/core/lib/iomgr/wakeup_fd_pipe.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/promise/activity.h',
|
||||
'src/core/lib/promise/all_ok.h',
|
||||
|
|
@ -2382,6 +2366,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/latch.h',
|
||||
'src/core/lib/promise/loop.h',
|
||||
'src/core/lib/promise/map.h',
|
||||
'src/core/lib/promise/observable.h',
|
||||
'src/core/lib/promise/party.h',
|
||||
'src/core/lib/promise/pipe.h',
|
||||
'src/core/lib/promise/poll.h',
|
||||
|
|
@ -2391,7 +2376,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/seq.h',
|
||||
'src/core/lib/promise/sleep.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_seq.h',
|
||||
'src/core/lib/resource_quota/api.h',
|
||||
|
|
@ -2401,7 +2385,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/resource_quota/periodic_update.h',
|
||||
'src/core/lib/resource_quota/resource_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/authorization_engine.h',
|
||||
'src/core/lib/security/authorization/authorization_policy_provider.h',
|
||||
|
|
@ -2466,23 +2449,25 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/api_trace.h',
|
||||
'src/core/lib/surface/call.h',
|
||||
'src/core/lib/surface/call_test_only.h',
|
||||
'src/core/lib/surface/call_trace.h',
|
||||
'src/core/lib/surface/call_utils.h',
|
||||
'src/core/lib/surface/channel.h',
|
||||
'src/core/lib/surface/channel_create.h',
|
||||
'src/core/lib/surface/channel_init.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_factory.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_internally.h',
|
||||
'src/core/lib/surface/lame_client.h',
|
||||
'src/core/lib/surface/legacy_channel.h',
|
||||
'src/core/lib/surface/server_call.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/call_arena_allocator.h',
|
||||
'src/core/lib/transport/call_destination.h',
|
||||
'src/core/lib/transport/call_filters.h',
|
||||
'src/core/lib/transport/call_final_info.h',
|
||||
'src/core/lib/transport/call_spine.h',
|
||||
|
|
@ -2490,6 +2475,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/transport/custom_metadata.h',
|
||||
'src/core/lib/transport/error_utils.h',
|
||||
'src/core/lib/transport/http2_errors.h',
|
||||
'src/core/lib/transport/interception_chain.h',
|
||||
'src/core/lib/transport/message.h',
|
||||
'src/core/lib/transport/metadata.h',
|
||||
'src/core/lib/transport/metadata_batch.h',
|
||||
|
|
@ -2545,7 +2531,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/resolver/server_address.h',
|
||||
'src/core/resolver/xds/xds_dependency_manager.h',
|
||||
'src/core/resolver/xds/xds_resolver_attributes.h',
|
||||
'src/core/resolver/xds/xds_resolver_trace.h',
|
||||
'src/core/server/server.h',
|
||||
'src/core/server/server_call_tracer_filter.h',
|
||||
'src/core/server/server_config_selector.h',
|
||||
|
|
@ -2556,6 +2541,12 @@ Pod::Spec.new do |s|
|
|||
'src/core/service_config/service_config_call_data.h',
|
||||
'src/core/service_config/service_config_impl.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/frame_protector/alts_counter.h',
|
||||
'src/core/tsi/alts/frame_protector/alts_crypter.h',
|
||||
|
|
@ -2585,6 +2576,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.h',
|
||||
'src/core/tsi/transport_security_grpc.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',
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'gRPC-Core'
|
||||
version = '1.64.2'
|
||||
version = '1.65.0-dev'
|
||||
s.version = version
|
||||
s.summary = 'Core cross-platform gRPC library, written in C'
|
||||
s.homepage = 'https://grpc.io'
|
||||
|
|
@ -82,7 +82,7 @@ Pod::Spec.new do |s|
|
|||
' "$(PODS_TARGET_SRCROOT)/third_party/utf8_range"'\
|
||||
' "$(PODS_TARGET_SRCROOT)/third_party/xxhash"',
|
||||
# If we don't set these two settings, `include/grpc/support/time.h` and
|
||||
# `src/core/lib/gpr/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the
|
||||
# `src/core/util/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the
|
||||
# build.
|
||||
'USE_HEADERMAP' => 'NO',
|
||||
'ALWAYS_SEARCH_USER_PATHS' => 'NO',
|
||||
|
|
@ -168,6 +168,7 @@ Pod::Spec.new do |s|
|
|||
'include/grpc/impl/propagation_bits.h',
|
||||
'include/grpc/impl/slice_type.h',
|
||||
'include/grpc/load_reporting.h',
|
||||
'include/grpc/passive_listener.h',
|
||||
'include/grpc/slice.h',
|
||||
'include/grpc/slice_buffer.h',
|
||||
'include/grpc/status.h',
|
||||
|
|
@ -198,7 +199,7 @@ Pod::Spec.new do |s|
|
|||
ss.libraries = 'z'
|
||||
ss.dependency "#{s.name}/Interface", version
|
||||
ss.dependency "#{s.name}/Privacy", version
|
||||
ss.dependency 'BoringSSL-GRPC', '0.0.34'
|
||||
ss.dependency 'BoringSSL-GRPC', '0.0.35'
|
||||
ss.dependency 'abseil/algorithm/container', abseil_version
|
||||
ss.dependency 'abseil/base/base', abseil_version
|
||||
ss.dependency 'abseil/base/config', abseil_version
|
||||
|
|
@ -244,6 +245,8 @@ Pod::Spec.new do |s|
|
|||
'src/core/channelz/channelz_registry.h',
|
||||
'src/core/client_channel/backup_poller.cc',
|
||||
'src/core/client_channel/backup_poller.h',
|
||||
'src/core/client_channel/client_channel.cc',
|
||||
'src/core/client_channel/client_channel.h',
|
||||
'src/core/client_channel/client_channel_factory.cc',
|
||||
'src/core/client_channel/client_channel_factory.h',
|
||||
'src/core/client_channel/client_channel_filter.cc',
|
||||
|
|
@ -259,6 +262,8 @@ Pod::Spec.new do |s|
|
|||
'src/core/client_channel/dynamic_filters.h',
|
||||
'src/core/client_channel/global_subchannel_pool.cc',
|
||||
'src/core/client_channel/global_subchannel_pool.h',
|
||||
'src/core/client_channel/load_balanced_call_destination.cc',
|
||||
'src/core/client_channel/load_balanced_call_destination.h',
|
||||
'src/core/client_channel/local_subchannel_pool.cc',
|
||||
'src/core/client_channel/local_subchannel_pool.h',
|
||||
'src/core/client_channel/retry_filter.cc',
|
||||
|
|
@ -307,8 +312,6 @@ Pod::Spec.new do |s|
|
|||
'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.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.h',
|
||||
'src/core/ext/transport/chttp2/client/chttp2_connector.cc',
|
||||
|
|
@ -353,8 +356,6 @@ Pod::Spec.new do |s|
|
|||
'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.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.h',
|
||||
'src/core/ext/transport/chttp2/transport/internal.h',
|
||||
|
|
@ -374,7 +375,6 @@ Pod::Spec.new do |s|
|
|||
'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/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.h',
|
||||
'src/core/ext/transport/inproc/legacy_inproc_transport.cc',
|
||||
|
|
@ -1196,8 +1196,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/handshaker/security/secure_endpoint.h',
|
||||
'src/core/handshaker/security/security_handshaker.cc',
|
||||
'src/core/handshaker/security/security_handshaker.h',
|
||||
'src/core/handshaker/security/tsi_error.cc',
|
||||
'src/core/handshaker/security/tsi_error.h',
|
||||
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc',
|
||||
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h',
|
||||
'src/core/lib/address_utils/parse_address.cc',
|
||||
|
|
@ -1210,8 +1208,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/backoff/random_early_detection.cc',
|
||||
'src/core/lib/backoff/random_early_detection.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.h',
|
||||
'src/core/lib/channel/channel_args_preconditioning.cc',
|
||||
|
|
@ -1223,18 +1219,12 @@ Pod::Spec.new do |s|
|
|||
'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.h',
|
||||
'src/core/lib/channel/channel_stack_trace.cc',
|
||||
'src/core/lib/channel/channel_stack_trace.h',
|
||||
'src/core/lib/channel/connected_channel.cc',
|
||||
'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.h',
|
||||
'src/core/lib/channel/status_util.cc',
|
||||
'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_internal.cc',
|
||||
'src/core/lib/compression/compression_internal.h',
|
||||
|
|
@ -1249,14 +1239,11 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/config/load_config.h',
|
||||
'src/core/lib/debug/event_log.cc',
|
||||
'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.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.h',
|
||||
'src/core/lib/event_engine/cf_engine/cf_engine.cc',
|
||||
|
|
@ -1278,6 +1265,7 @@ Pod::Spec.new do |s|
|
|||
'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/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.h',
|
||||
'src/core/lib/event_engine/grpc_polled_fd.h',
|
||||
|
|
@ -1348,7 +1336,6 @@ Pod::Spec.new do |s|
|
|||
'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.h',
|
||||
'src/core/lib/event_engine/trace.cc',
|
||||
'src/core/lib/event_engine/trace.h',
|
||||
'src/core/lib/event_engine/utils.cc',
|
||||
'src/core/lib/event_engine/utils.h',
|
||||
|
|
@ -1373,38 +1360,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/experiments/config.h',
|
||||
'src/core/lib/experiments/experiments.cc',
|
||||
'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/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/bitset.h',
|
||||
'src/core/lib/gprpp/chunked_vector.h',
|
||||
|
|
@ -1416,11 +1371,15 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/directory_reader.h',
|
||||
'src/core/lib/gprpp/down_cast.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/examine_stack.cc',
|
||||
'src/core/lib/gprpp/examine_stack.h',
|
||||
'src/core/lib/gprpp/fork.cc',
|
||||
'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.h',
|
||||
'src/core/lib/gprpp/if_list.h',
|
||||
|
|
@ -1478,14 +1437,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/work_serializer.cc',
|
||||
'src/core/lib/gprpp/work_serializer.h',
|
||||
'src/core/lib/gprpp/xxhash_inline.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/buffer_list.cc',
|
||||
'src/core/lib/iomgr/buffer_list.h',
|
||||
|
|
@ -1518,7 +1469,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/iomgr/ev_poll_posix.h',
|
||||
'src/core/lib/iomgr/ev_posix.cc',
|
||||
'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.h',
|
||||
'src/core/lib/iomgr/event_engine_shims/endpoint.cc',
|
||||
|
|
@ -1628,17 +1578,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/iomgr/wakeup_fd_pipe.h',
|
||||
'src/core/lib/iomgr/wakeup_fd_posix.cc',
|
||||
'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.h',
|
||||
'src/core/lib/promise/activity.cc',
|
||||
|
|
@ -1660,6 +1599,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/latch.h',
|
||||
'src/core/lib/promise/loop.h',
|
||||
'src/core/lib/promise/map.h',
|
||||
'src/core/lib/promise/observable.h',
|
||||
'src/core/lib/promise/party.cc',
|
||||
'src/core/lib/promise/party.h',
|
||||
'src/core/lib/promise/pipe.h',
|
||||
|
|
@ -1671,8 +1611,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/sleep.cc',
|
||||
'src/core/lib/promise/sleep.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_seq.h',
|
||||
'src/core/lib/resource_quota/api.cc',
|
||||
|
|
@ -1689,8 +1627,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/resource_quota/resource_quota.h',
|
||||
'src/core/lib/resource_quota/thread_quota.cc',
|
||||
'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.h',
|
||||
'src/core/lib/security/authorization/authorization_engine.h',
|
||||
|
|
@ -1815,11 +1751,9 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/slice/slice_buffer.cc',
|
||||
'src/core/lib/slice/slice_buffer.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_string_helpers.cc',
|
||||
'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/byte_buffer.cc',
|
||||
'src/core/lib/surface/byte_buffer_reader.cc',
|
||||
|
|
@ -1828,7 +1762,8 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/call_details.cc',
|
||||
'src/core/lib/surface/call_log_batch.cc',
|
||||
'src/core/lib/surface/call_test_only.h',
|
||||
'src/core/lib/surface/call_trace.h',
|
||||
'src/core/lib/surface/call_utils.cc',
|
||||
'src/core/lib/surface/call_utils.h',
|
||||
'src/core/lib/surface/channel.cc',
|
||||
'src/core/lib/surface/channel.h',
|
||||
'src/core/lib/surface/channel_create.cc',
|
||||
|
|
@ -1837,12 +1772,16 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/channel_init.h',
|
||||
'src/core/lib/surface/channel_stack_type.cc',
|
||||
'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.h',
|
||||
'src/core/lib/surface/completion_queue_factory.cc',
|
||||
'src/core/lib/surface/completion_queue_factory.h',
|
||||
'src/core/lib/surface/event_string.cc',
|
||||
'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.h',
|
||||
'src/core/lib/surface/init_internally.cc',
|
||||
|
|
@ -1852,17 +1791,16 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/legacy_channel.cc',
|
||||
'src/core/lib/surface/legacy_channel.h',
|
||||
'src/core/lib/surface/metadata_array.cc',
|
||||
'src/core/lib/surface/server_call.cc',
|
||||
'src/core/lib/surface/server_call.h',
|
||||
'src/core/lib/surface/validate_metadata.cc',
|
||||
'src/core/lib/surface/validate_metadata.h',
|
||||
'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.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.h',
|
||||
'src/core/lib/transport/call_final_info.cc',
|
||||
|
|
@ -1875,6 +1813,8 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/transport/error_utils.cc',
|
||||
'src/core/lib/transport/error_utils.h',
|
||||
'src/core/lib/transport/http2_errors.h',
|
||||
'src/core/lib/transport/interception_chain.cc',
|
||||
'src/core/lib/transport/interception_chain.h',
|
||||
'src/core/lib/transport/message.cc',
|
||||
'src/core/lib/transport/message.h',
|
||||
'src/core/lib/transport/metadata.cc',
|
||||
|
|
@ -1989,8 +1929,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/resolver/xds/xds_dependency_manager.h',
|
||||
'src/core/resolver/xds/xds_resolver.cc',
|
||||
'src/core/resolver/xds/xds_resolver_attributes.h',
|
||||
'src/core/resolver/xds/xds_resolver_trace.cc',
|
||||
'src/core/resolver/xds/xds_resolver_trace.h',
|
||||
'src/core/server/server.cc',
|
||||
'src/core/server/server.h',
|
||||
'src/core/server/server_call_tracer_filter.cc',
|
||||
|
|
@ -2009,6 +1947,17 @@ Pod::Spec.new do |s|
|
|||
'src/core/service_config/service_config_impl.h',
|
||||
'src/core/service_config/service_config_parser.cc',
|
||||
'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/gsec.cc',
|
||||
'src/core/tsi/alts/crypt/gsec.h',
|
||||
|
|
@ -2067,6 +2016,59 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security_grpc.cc',
|
||||
'src/core/tsi/transport_security_grpc.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',
|
||||
|
|
@ -2353,6 +2355,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/channelz/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_filter.h',
|
||||
'src/core/client_channel/client_channel_internal.h',
|
||||
|
|
@ -2361,6 +2364,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/client_channel/connector.h',
|
||||
'src/core/client_channel/dynamic_filters.h',
|
||||
'src/core/client_channel/global_subchannel_pool.h',
|
||||
'src/core/client_channel/load_balanced_call_destination.h',
|
||||
'src/core/client_channel/local_subchannel_pool.h',
|
||||
'src/core/client_channel/retry_filter.h',
|
||||
'src/core/client_channel/retry_filter_legacy_call_data.h',
|
||||
|
|
@ -2385,7 +2389,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/ext/filters/rbac/rbac_service_config_parser.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/gcp/metadata_query.h',
|
||||
'src/core/ext/transport/chttp2/alpn/alpn.h',
|
||||
'src/core/ext/transport/chttp2/client/chttp2_connector.h',
|
||||
'src/core/ext/transport/chttp2/server/chttp2_server.h',
|
||||
|
|
@ -2409,7 +2412,6 @@ Pod::Spec.new do |s|
|
|||
'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/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/internal.h',
|
||||
'src/core/ext/transport/chttp2/transport/legacy_frame.h',
|
||||
|
|
@ -2913,7 +2915,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/handshaker/proxy_mapper_registry.h',
|
||||
'src/core/handshaker/security/secure_endpoint.h',
|
||||
'src/core/handshaker/security/security_handshaker.h',
|
||||
'src/core/handshaker/security/tsi_error.h',
|
||||
'src/core/handshaker/tcp_connect/tcp_connect_handshaker.h',
|
||||
'src/core/lib/address_utils/parse_address.h',
|
||||
'src/core/lib/address_utils/sockaddr_utils.h',
|
||||
|
|
@ -2921,30 +2922,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/backoff/backoff.h',
|
||||
'src/core/lib/backoff/random_early_detection.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_preconditioning.h',
|
||||
'src/core/lib/channel/channel_fwd.h',
|
||||
'src/core/lib/channel/channel_stack.h',
|
||||
'src/core/lib/channel/channel_stack_builder.h',
|
||||
'src/core/lib/channel/channel_stack_builder_impl.h',
|
||||
'src/core/lib/channel/channel_stack_trace.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/status_util.h',
|
||||
'src/core/lib/channel/tcp_tracer.h',
|
||||
'src/core/lib/compression/compression_internal.h',
|
||||
'src/core/lib/compression/message_compress.h',
|
||||
'src/core/lib/config/config_vars.h',
|
||||
'src/core/lib/config/core_configuration.h',
|
||||
'src/core/lib/config/load_config.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_flags.h',
|
||||
'src/core/lib/debug/trace_impl.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/cfstream_endpoint.h',
|
||||
|
|
@ -2958,6 +2953,7 @@ Pod::Spec.new do |s|
|
|||
'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/supports_fd.h',
|
||||
'src/core/lib/event_engine/extensions/tcp_trace.h',
|
||||
'src/core/lib/event_engine/forkable.h',
|
||||
'src/core/lib/event_engine/grpc_polled_fd.h',
|
||||
'src/core/lib/event_engine/handle_containers.h',
|
||||
|
|
@ -3011,12 +3007,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/event_engine/work_queue/work_queue.h',
|
||||
'src/core/lib/experiments/config.h',
|
||||
'src/core/lib/experiments/experiments.h',
|
||||
'src/core/lib/gpr/alloc.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/bitset.h',
|
||||
'src/core/lib/gprpp/chunked_vector.h',
|
||||
|
|
@ -3027,9 +3017,11 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/directory_reader.h',
|
||||
'src/core/lib/gprpp/down_cast.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/examine_stack.h',
|
||||
'src/core/lib/gprpp/fork.h',
|
||||
'src/core/lib/gprpp/glob.h',
|
||||
'src/core/lib/gprpp/host_port.h',
|
||||
'src/core/lib/gprpp/if_list.h',
|
||||
'src/core/lib/gprpp/load_file.h',
|
||||
|
|
@ -3064,10 +3056,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/gprpp/validation_errors.h',
|
||||
'src/core/lib/gprpp/work_serializer.h',
|
||||
'src/core/lib/gprpp/xxhash_inline.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/buffer_list.h',
|
||||
'src/core/lib/iomgr/call_combiner.h',
|
||||
|
|
@ -3133,13 +3121,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/iomgr/vsock.h',
|
||||
'src/core/lib/iomgr/wakeup_fd_pipe.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/promise/activity.h',
|
||||
'src/core/lib/promise/all_ok.h',
|
||||
|
|
@ -3159,6 +3140,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/latch.h',
|
||||
'src/core/lib/promise/loop.h',
|
||||
'src/core/lib/promise/map.h',
|
||||
'src/core/lib/promise/observable.h',
|
||||
'src/core/lib/promise/party.h',
|
||||
'src/core/lib/promise/pipe.h',
|
||||
'src/core/lib/promise/poll.h',
|
||||
|
|
@ -3168,7 +3150,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/promise/seq.h',
|
||||
'src/core/lib/promise/sleep.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_seq.h',
|
||||
'src/core/lib/resource_quota/api.h',
|
||||
|
|
@ -3178,7 +3159,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/resource_quota/periodic_update.h',
|
||||
'src/core/lib/resource_quota/resource_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/authorization_engine.h',
|
||||
'src/core/lib/security/authorization/authorization_policy_provider.h',
|
||||
|
|
@ -3243,23 +3223,25 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/surface/api_trace.h',
|
||||
'src/core/lib/surface/call.h',
|
||||
'src/core/lib/surface/call_test_only.h',
|
||||
'src/core/lib/surface/call_trace.h',
|
||||
'src/core/lib/surface/call_utils.h',
|
||||
'src/core/lib/surface/channel.h',
|
||||
'src/core/lib/surface/channel_create.h',
|
||||
'src/core/lib/surface/channel_init.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_factory.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_internally.h',
|
||||
'src/core/lib/surface/lame_client.h',
|
||||
'src/core/lib/surface/legacy_channel.h',
|
||||
'src/core/lib/surface/server_call.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/call_arena_allocator.h',
|
||||
'src/core/lib/transport/call_destination.h',
|
||||
'src/core/lib/transport/call_filters.h',
|
||||
'src/core/lib/transport/call_final_info.h',
|
||||
'src/core/lib/transport/call_spine.h',
|
||||
|
|
@ -3267,6 +3249,7 @@ Pod::Spec.new do |s|
|
|||
'src/core/lib/transport/custom_metadata.h',
|
||||
'src/core/lib/transport/error_utils.h',
|
||||
'src/core/lib/transport/http2_errors.h',
|
||||
'src/core/lib/transport/interception_chain.h',
|
||||
'src/core/lib/transport/message.h',
|
||||
'src/core/lib/transport/metadata.h',
|
||||
'src/core/lib/transport/metadata_batch.h',
|
||||
|
|
@ -3322,7 +3305,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/resolver/server_address.h',
|
||||
'src/core/resolver/xds/xds_dependency_manager.h',
|
||||
'src/core/resolver/xds/xds_resolver_attributes.h',
|
||||
'src/core/resolver/xds/xds_resolver_trace.h',
|
||||
'src/core/server/server.h',
|
||||
'src/core/server/server_call_tracer_filter.h',
|
||||
'src/core/server/server_config_selector.h',
|
||||
|
|
@ -3333,6 +3315,12 @@ Pod::Spec.new do |s|
|
|||
'src/core/service_config/service_config_call_data.h',
|
||||
'src/core/service_config/service_config_impl.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/frame_protector/alts_counter.h',
|
||||
'src/core/tsi/alts/frame_protector/alts_crypter.h',
|
||||
|
|
@ -3362,6 +3350,24 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.h',
|
||||
'src/core/tsi/transport_security_grpc.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',
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'gRPC-ProtoRPC'
|
||||
version = '1.64.2'
|
||||
version = '1.65.0-dev'
|
||||
s.version = version
|
||||
s.summary = 'RPC library for Protocol Buffers, based on gRPC'
|
||||
s.homepage = 'https://grpc.io'
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'gRPC-RxLibrary'
|
||||
version = '1.64.2'
|
||||
version = '1.65.0-dev'
|
||||
s.version = version
|
||||
s.summary = 'Reactive Extensions library for iOS/OSX.'
|
||||
s.homepage = 'https://grpc.io'
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'gRPC'
|
||||
version = '1.64.2'
|
||||
version = '1.65.0-dev'
|
||||
s.version = version
|
||||
s.summary = 'gRPC client library for iOS/OSX'
|
||||
s.homepage = 'https://grpc.io'
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( include/grpc/impl/propagation_bits.h )
|
||||
s.files += %w( include/grpc/impl/slice_type.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_buffer.h )
|
||||
s.files += %w( include/grpc/status.h )
|
||||
|
|
@ -131,6 +132,8 @@ Gem::Specification.new do |s|
|
|||
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.h )
|
||||
s.files += %w( src/core/client_channel/client_channel.cc )
|
||||
s.files += %w( src/core/client_channel/client_channel.h )
|
||||
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_filter.cc )
|
||||
|
|
@ -146,6 +149,8 @@ Gem::Specification.new do |s|
|
|||
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.h )
|
||||
s.files += %w( src/core/client_channel/load_balanced_call_destination.cc )
|
||||
s.files += %w( src/core/client_channel/load_balanced_call_destination.h )
|
||||
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/retry_filter.cc )
|
||||
|
|
@ -194,8 +199,6 @@ Gem::Specification.new do |s|
|
|||
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.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.h )
|
||||
s.files += %w( src/core/ext/transport/chttp2/client/chttp2_connector.cc )
|
||||
|
|
@ -240,8 +243,6 @@ 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/http2_settings.cc )
|
||||
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.h )
|
||||
s.files += %w( src/core/ext/transport/chttp2/transport/internal.h )
|
||||
|
|
@ -261,7 +262,6 @@ 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.h )
|
||||
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.h )
|
||||
s.files += %w( src/core/ext/transport/inproc/legacy_inproc_transport.cc )
|
||||
|
|
@ -1083,8 +1083,6 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/handshaker/security/secure_endpoint.h )
|
||||
s.files += %w( src/core/handshaker/security/security_handshaker.cc )
|
||||
s.files += %w( src/core/handshaker/security/security_handshaker.h )
|
||||
s.files += %w( src/core/handshaker/security/tsi_error.cc )
|
||||
s.files += %w( src/core/handshaker/security/tsi_error.h )
|
||||
s.files += %w( src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc )
|
||||
s.files += %w( src/core/handshaker/tcp_connect/tcp_connect_handshaker.h )
|
||||
s.files += %w( src/core/lib/address_utils/parse_address.cc )
|
||||
|
|
@ -1097,8 +1095,6 @@ 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.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.h )
|
||||
s.files += %w( src/core/lib/channel/channel_args_preconditioning.cc )
|
||||
|
|
@ -1110,18 +1106,12 @@ 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_impl.cc )
|
||||
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/connected_channel.cc )
|
||||
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.h )
|
||||
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/tcp_tracer.h )
|
||||
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.h )
|
||||
|
|
@ -1136,14 +1126,11 @@ Gem::Specification.new do |s|
|
|||
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.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.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.h )
|
||||
s.files += %w( src/core/lib/event_engine/cf_engine/cf_engine.cc )
|
||||
|
|
@ -1165,6 +1152,7 @@ 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/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/tcp_trace.h )
|
||||
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/grpc_polled_fd.h )
|
||||
|
|
@ -1235,7 +1223,6 @@ 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/time_util.cc )
|
||||
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/utils.cc )
|
||||
s.files += %w( src/core/lib/event_engine/utils.h )
|
||||
|
|
@ -1260,38 +1247,6 @@ Gem::Specification.new do |s|
|
|||
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.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/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/bitset.h )
|
||||
s.files += %w( src/core/lib/gprpp/chunked_vector.h )
|
||||
|
|
@ -1303,11 +1258,15 @@ Gem::Specification.new do |s|
|
|||
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/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/examine_stack.cc )
|
||||
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.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.h )
|
||||
s.files += %w( src/core/lib/gprpp/if_list.h )
|
||||
|
|
@ -1365,14 +1324,6 @@ Gem::Specification.new do |s|
|
|||
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/xxhash_inline.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/buffer_list.cc )
|
||||
s.files += %w( src/core/lib/iomgr/buffer_list.h )
|
||||
|
|
@ -1405,7 +1356,6 @@ Gem::Specification.new do |s|
|
|||
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.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.h )
|
||||
s.files += %w( src/core/lib/iomgr/event_engine_shims/endpoint.cc )
|
||||
|
|
@ -1515,17 +1465,6 @@ 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_posix.cc )
|
||||
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.h )
|
||||
s.files += %w( src/core/lib/promise/activity.cc )
|
||||
|
|
@ -1547,6 +1486,7 @@ Gem::Specification.new do |s|
|
|||
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/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.h )
|
||||
s.files += %w( src/core/lib/promise/pipe.h )
|
||||
|
|
@ -1558,8 +1498,6 @@ Gem::Specification.new do |s|
|
|||
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/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_seq.h )
|
||||
s.files += %w( src/core/lib/resource_quota/api.cc )
|
||||
|
|
@ -1576,8 +1514,6 @@ Gem::Specification.new do |s|
|
|||
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.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.h )
|
||||
s.files += %w( src/core/lib/security/authorization/authorization_engine.h )
|
||||
|
|
@ -1702,11 +1638,9 @@ Gem::Specification.new do |s|
|
|||
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_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_string_helpers.cc )
|
||||
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/byte_buffer.cc )
|
||||
s.files += %w( src/core/lib/surface/byte_buffer_reader.cc )
|
||||
|
|
@ -1715,7 +1649,8 @@ Gem::Specification.new do |s|
|
|||
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_test_only.h )
|
||||
s.files += %w( src/core/lib/surface/call_trace.h )
|
||||
s.files += %w( src/core/lib/surface/call_utils.cc )
|
||||
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.h )
|
||||
s.files += %w( src/core/lib/surface/channel_create.cc )
|
||||
|
|
@ -1724,12 +1659,16 @@ Gem::Specification.new do |s|
|
|||
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.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.h )
|
||||
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/event_string.cc )
|
||||
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.h )
|
||||
s.files += %w( src/core/lib/surface/init_internally.cc )
|
||||
|
|
@ -1739,17 +1678,16 @@ Gem::Specification.new do |s|
|
|||
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/metadata_array.cc )
|
||||
s.files += %w( src/core/lib/surface/server_call.cc )
|
||||
s.files += %w( src/core/lib/surface/server_call.h )
|
||||
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/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.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.h )
|
||||
s.files += %w( src/core/lib/transport/call_final_info.cc )
|
||||
|
|
@ -1762,6 +1700,8 @@ Gem::Specification.new do |s|
|
|||
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/http2_errors.h )
|
||||
s.files += %w( src/core/lib/transport/interception_chain.cc )
|
||||
s.files += %w( src/core/lib/transport/interception_chain.h )
|
||||
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/metadata.cc )
|
||||
|
|
@ -1876,8 +1816,6 @@ Gem::Specification.new do |s|
|
|||
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_attributes.h )
|
||||
s.files += %w( src/core/resolver/xds/xds_resolver_trace.cc )
|
||||
s.files += %w( src/core/resolver/xds/xds_resolver_trace.h )
|
||||
s.files += %w( src/core/server/server.cc )
|
||||
s.files += %w( src/core/server/server.h )
|
||||
s.files += %w( src/core/server/server_call_tracer_filter.cc )
|
||||
|
|
@ -1896,6 +1834,17 @@ 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_parser.cc )
|
||||
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/gsec.cc )
|
||||
s.files += %w( src/core/tsi/alts/crypt/gsec.h )
|
||||
|
|
@ -1954,6 +1903,59 @@ Gem::Specification.new do |s|
|
|||
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_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 )
|
||||
|
|
@ -2513,7 +2515,6 @@ 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/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_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/cpu_aarch64_apple.c )
|
||||
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c )
|
||||
|
|
@ -2536,6 +2537,8 @@ 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/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/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_asn1.c )
|
||||
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/internal.h )
|
||||
|
|
@ -2856,6 +2859,7 @@ 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_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/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 )
|
||||
|
|
|
|||
|
|
@ -132,8 +132,6 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
|
|||
struct TaskHandle {
|
||||
intptr_t keys[2];
|
||||
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.
|
||||
///
|
||||
|
|
@ -141,10 +139,6 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
|
|||
struct ConnectionHandle {
|
||||
intptr_t keys[2];
|
||||
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
|
||||
/// exists on all platforms that gRPC supports.
|
||||
|
|
@ -496,6 +490,19 @@ void EventEngineFactoryReset();
|
|||
/// Create an EventEngine using the default factory.
|
||||
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 grpc_event_engine
|
||||
|
||||
|
|
|
|||
|
|
@ -111,9 +111,11 @@
|
|||
"grpc.server_max_unrequested_time_in_server"
|
||||
/** Channel arg to override the http2 :scheme header */
|
||||
#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
|
||||
/** How many pings can the client send before needing to send a
|
||||
data/header frame? (0 indicates that an infinite number of
|
||||
pings can be sent without sending a data frame or header frame) */
|
||||
/** How many pings can the client send before needing to send a data/header
|
||||
frame? (0 indicates that an infinite number of 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 \
|
||||
"grpc.http2.max_pings_without_data"
|
||||
/** How many misbehaving pings the server can bear before sending goaway and
|
||||
|
|
@ -396,6 +398,8 @@
|
|||
* If unspecified, it is unlimited */
|
||||
#define GRPC_ARG_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 */
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ header "byte_buffer.h"
|
|||
header "impl/propagation_bits.h"
|
||||
header "impl/slice_type.h"
|
||||
header "load_reporting.h"
|
||||
header "passive_listener.h"
|
||||
header "slice.h"
|
||||
header "slice_buffer.h"
|
||||
header "status.h"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,62 @@
|
|||
// 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 */
|
||||
|
|
@ -82,6 +82,7 @@ struct gpr_log_func_args {
|
|||
typedef struct gpr_log_func_args gpr_log_func_args;
|
||||
|
||||
typedef void (*gpr_log_func)(gpr_log_func_args* args);
|
||||
|
||||
GPRAPI void gpr_set_log_function(gpr_log_func func);
|
||||
|
||||
GPRAPI void gpr_assertion_failed(const char* filename, int line,
|
||||
|
|
@ -99,12 +100,6 @@ GPRAPI void gpr_assertion_failed(const char* filename, int line,
|
|||
} \
|
||||
} 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
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -272,6 +272,9 @@
|
|||
#define GPR_PLATFORM_STRING "ios"
|
||||
#define GPR_CPU_IPHONE 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 */
|
||||
#define GRPC_ARES 0
|
||||
#else /* TARGET_OS_IPHONE */
|
||||
|
|
|
|||
|
|
@ -26,17 +26,18 @@
|
|||
|
||||
#include "absl/functional/any_invocable.h"
|
||||
#include "absl/status/status.h"
|
||||
#include "absl/status/statusor.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "opentelemetry/metrics/meter_provider.h"
|
||||
|
||||
#include <grpc/support/metrics.h>
|
||||
#include <grpc/support/port_platform.h>
|
||||
#include <grpcpp/server_builder.h>
|
||||
#include <grpcpp/support/channel_arguments.h>
|
||||
|
||||
namespace grpc {
|
||||
|
||||
namespace internal {
|
||||
class OpenTelemetryPluginBuilderImpl;
|
||||
class OpenTelemetryPlugin;
|
||||
} // namespace internal
|
||||
|
||||
class OpenTelemetryPluginOption {
|
||||
|
|
@ -44,6 +45,21 @@ class OpenTelemetryPluginOption {
|
|||
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 -
|
||||
///
|
||||
/// OpenTelemetryPluginBuilder().SetMeterProvider(provider).BuildAndRegister();
|
||||
|
|
@ -88,19 +104,33 @@ class OpenTelemetryPluginBuilder {
|
|||
/// If `SetMeterProvider()` is not called, no metrics are collected.
|
||||
OpenTelemetryPluginBuilder& SetMeterProvider(
|
||||
std::shared_ptr<opentelemetry::metrics::MeterProvider> meter_provider);
|
||||
/// If set, \a target_attribute_filter is called per channel to decide whether
|
||||
/// to record the target attribute on client or to replace it with "other".
|
||||
/// This helps reduce the cardinality on metrics in cases where many channels
|
||||
/// are created with different targets in the same binary (which might happen
|
||||
/// for example, if the channel target string uses IP addresses directly).
|
||||
/// DEPRECATED: If set, \a target_attribute_filter is called per channel to
|
||||
/// decide whether to record the target attribute on client or to replace it
|
||||
/// with "other". This helps reduce the cardinality on metrics in cases where
|
||||
/// many channels are created with different targets in the same binary (which
|
||||
/// might happen for example, if the channel target string uses IP addresses
|
||||
/// 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(
|
||||
absl::AnyInvocable<bool(absl::string_view /*target*/) const>
|
||||
target_attribute_filter);
|
||||
/// 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
|
||||
/// replace it with "other". Non-generic or pre-registered methods remain
|
||||
/// unaffected. If not set, by default, generic method names are replaced with
|
||||
/// "other" when recording metrics.
|
||||
/// unaffected. If not set, by default, generic method names are replaced
|
||||
/// with "other" when recording metrics.
|
||||
OpenTelemetryPluginBuilder& SetGenericMethodAttributeFilter(
|
||||
absl::AnyInvocable<bool(absl::string_view /*generic_method*/) const>
|
||||
generic_method_attribute_filter);
|
||||
|
|
@ -125,9 +155,16 @@ class OpenTelemetryPluginBuilder {
|
|||
OpenTelemetryPluginBuilder& SetChannelScopeFilter(
|
||||
absl::AnyInvocable<bool(const ChannelScope& /*scope*/) const>
|
||||
channel_scope_filter);
|
||||
/// Registers a global plugin that acts on all channels and servers running on
|
||||
/// the process.
|
||||
/// Builds and registers a global plugin that acts on all channels and servers
|
||||
/// running on the process. Must be called no more than once and must not be
|
||||
/// called if Build() is called.
|
||||
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:
|
||||
std::unique_ptr<internal::OpenTelemetryPluginBuilderImpl> impl_;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
#include <grpc/impl/grpc_types.h>
|
||||
#include <grpc/slice.h>
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpcpp/client_context.h>
|
||||
#include <grpcpp/completion_queue.h>
|
||||
#include <grpcpp/impl/call.h>
|
||||
|
|
@ -772,7 +771,9 @@ class CallOpRecvInitialMetadata {
|
|||
class CallOpClientRecvStatus {
|
||||
public:
|
||||
CallOpClientRecvStatus()
|
||||
: recv_status_(nullptr), debug_error_string_(nullptr) {}
|
||||
: metadata_map_(nullptr),
|
||||
recv_status_(nullptr),
|
||||
debug_error_string_(nullptr) {}
|
||||
|
||||
void ClientRecvStatus(grpc::ClientContext* context, Status* status) {
|
||||
client_context_ = context;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@
|
|||
#include "absl/log/absl_check.h"
|
||||
#include "absl/log/absl_log.h"
|
||||
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpcpp/impl/rpc_method.h>
|
||||
#include <grpcpp/support/byte_buffer.h>
|
||||
#include <grpcpp/support/config.h>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
//
|
||||
//
|
||||
// Copyright 2015 gRPC authors.
|
||||
// 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.
|
||||
|
|
@ -13,18 +11,17 @@
|
|||
// 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_PASSIVE_LISTENER_H
|
||||
#define GRPCPP_PASSIVE_LISTENER_H
|
||||
|
||||
#include <grpc/support/port_platform.h>
|
||||
#include <grpc/passive_listener.h>
|
||||
|
||||
#include "src/core/lib/iomgr/port.h"
|
||||
namespace grpc {
|
||||
namespace experimental {
|
||||
|
||||
#ifdef GRPC_WINSOCK_SOCKET
|
||||
using grpc_core::experimental::PassiveListener;
|
||||
|
||||
#include "src/core/lib/debug/trace.h"
|
||||
} // namespace experimental
|
||||
} // namespace grpc
|
||||
|
||||
grpc_core::DebugOnlyTraceFlag grpc_polling_trace(
|
||||
false, "polling"); // Disabled by default
|
||||
|
||||
#endif // GRPC_WINSOCK_SOCKET
|
||||
#endif // GRPCPP_PASSIVE_LISTENER_H
|
||||
|
|
@ -84,6 +84,7 @@ class ServerCredentials : private grpc::internal::GrpcLibrary {
|
|||
// Needed for access to AddPortToServer.
|
||||
friend class Server;
|
||||
// Needed for access to c_creds_.
|
||||
friend class ServerBuilder;
|
||||
friend std::shared_ptr<ServerCredentials> grpc::XdsServerCredentials(
|
||||
const std::shared_ptr<ServerCredentials>& fallback_credentials);
|
||||
|
||||
|
|
|
|||
|
|
@ -103,6 +103,8 @@ class TlsCredentialsOptions {
|
|||
// call is covered by the cert that the peer presented.
|
||||
// We will perform such checks by default. This should be disabled if
|
||||
// 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);
|
||||
|
||||
// Deprecated in favor of set_crl_provider. The
|
||||
|
|
@ -111,6 +113,8 @@ class TlsCredentialsOptions {
|
|||
// 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
|
||||
// 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_provider(std::shared_ptr<CrlProvider> crl_provider);
|
||||
|
|
@ -184,6 +188,7 @@ class TlsServerCredentialsOptions final : public TlsCredentialsOptions {
|
|||
// 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
|
||||
// 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);
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -25,13 +25,17 @@
|
|||
#include <vector>
|
||||
|
||||
#include <grpc/compression.h>
|
||||
#include <grpc/event_engine/event_engine.h>
|
||||
#include <grpc/passive_listener.h>
|
||||
#include <grpc/support/cpu.h>
|
||||
#include <grpc/support/port_platform.h>
|
||||
#include <grpc/support/workaround_list.h>
|
||||
#include <grpcpp/impl/channel_argument_option.h>
|
||||
#include <grpcpp/impl/server_builder_option.h>
|
||||
#include <grpcpp/impl/server_builder_plugin.h>
|
||||
#include <grpcpp/passive_listener.h>
|
||||
#include <grpcpp/security/authorization_policy_provider.h>
|
||||
#include <grpcpp/security/server_credentials.h>
|
||||
#include <grpcpp/server.h>
|
||||
#include <grpcpp/support/config.h>
|
||||
#include <grpcpp/support/server_interceptor.h>
|
||||
|
|
@ -291,6 +295,18 @@ class ServerBuilder {
|
|||
void EnableCallMetricRecording(
|
||||
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:
|
||||
ServerBuilder* builder_;
|
||||
};
|
||||
|
|
@ -364,6 +380,17 @@ class ServerBuilder {
|
|||
private:
|
||||
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 {
|
||||
SyncServerSettings()
|
||||
: num_cqs(1), min_pollers(1), max_pollers(2), cq_timeout_msec(10000) {}
|
||||
|
|
@ -388,6 +415,7 @@ class ServerBuilder {
|
|||
std::vector<std::unique_ptr<grpc::ServerBuilderOption>> options_;
|
||||
std::vector<std::unique_ptr<NamedService>> services_;
|
||||
std::vector<Port> ports_;
|
||||
std::vector<UnstartedPassiveListener> unstarted_passive_listeners_;
|
||||
|
||||
SyncServerSettings sync_server_settings_;
|
||||
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
#define GRPCPP_VERSION_INFO_H
|
||||
|
||||
#define GRPC_CPP_VERSION_MAJOR 1
|
||||
#define GRPC_CPP_VERSION_MINOR 64
|
||||
#define GRPC_CPP_VERSION_PATCH 2
|
||||
#define GRPC_CPP_VERSION_TAG ""
|
||||
#define GRPC_CPP_VERSION_STRING "1.64.2"
|
||||
#define GRPC_CPP_VERSION_MINOR 65
|
||||
#define GRPC_CPP_VERSION_PATCH 0
|
||||
#define GRPC_CPP_VERSION_TAG "dev"
|
||||
#define GRPC_CPP_VERSION_STRING "1.65.0-dev"
|
||||
|
||||
#endif // GRPCPP_VERSION_INFO_H
|
||||
|
|
|
|||
|
|
@ -13,16 +13,16 @@
|
|||
<date>2019-09-24</date>
|
||||
<time>16:06:07</time>
|
||||
<version>
|
||||
<release>1.64.2</release>
|
||||
<api>1.64.2</api>
|
||||
<release>1.65.0dev</release>
|
||||
<api>1.65.0dev</api>
|
||||
</version>
|
||||
<stability>
|
||||
<release>stable</release>
|
||||
<api>stable</api>
|
||||
<release>beta</release>
|
||||
<api>beta</api>
|
||||
</stability>
|
||||
<license>Apache 2.0</license>
|
||||
<notes>
|
||||
- gRPC Core 1.64.2 update
|
||||
- gRPC Core 1.65.0 update
|
||||
</notes>
|
||||
<contents>
|
||||
<dir baseinstalldir="/" name="/">
|
||||
|
|
@ -81,6 +81,7 @@
|
|||
<file baseinstalldir="/" name="include/grpc/impl/propagation_bits.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/impl/slice_type.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/load_reporting.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/passive_listener.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/slice.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/slice_buffer.h" role="src" />
|
||||
<file baseinstalldir="/" name="include/grpc/status.h" role="src" />
|
||||
|
|
@ -113,6 +114,8 @@
|
|||
<file baseinstalldir="/" name="src/core/channelz/channelz_registry.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/backup_poller.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/backup_poller.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/client_channel.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/client_channel.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/client_channel_factory.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/client_channel_factory.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/client_channel_filter.cc" role="src" />
|
||||
|
|
@ -128,6 +131,8 @@
|
|||
<file baseinstalldir="/" name="src/core/client_channel/dynamic_filters.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/global_subchannel_pool.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/global_subchannel_pool.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/load_balanced_call_destination.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/load_balanced_call_destination.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/local_subchannel_pool.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/local_subchannel_pool.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/client_channel/retry_filter.cc" role="src" />
|
||||
|
|
@ -176,8 +181,6 @@
|
|||
<file baseinstalldir="/" name="src/core/ext/filters/stateful_session/stateful_session_filter.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/gcp/metadata_query.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/gcp/metadata_query.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/alpn/alpn.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/alpn/alpn.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/client/chttp2_connector.cc" role="src" />
|
||||
|
|
@ -222,8 +225,6 @@
|
|||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_parser_table.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http2_settings.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http2_settings.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http_trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/internal.h" role="src" />
|
||||
|
|
@ -243,7 +244,6 @@
|
|||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/write_size_policy.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/write_size_policy.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/writing.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/inproc/inproc_plugin.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/inproc/inproc_transport.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/inproc/inproc_transport.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/ext/transport/inproc/legacy_inproc_transport.cc" role="src" />
|
||||
|
|
@ -1065,8 +1065,6 @@
|
|||
<file baseinstalldir="/" name="src/core/handshaker/security/secure_endpoint.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/security/security_handshaker.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/security/security_handshaker.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/security/tsi_error.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/security/tsi_error.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/handshaker/tcp_connect/tcp_connect_handshaker.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/address_utils/parse_address.cc" role="src" />
|
||||
|
|
@ -1079,8 +1077,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/backoff/random_early_detection.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/backoff/random_early_detection.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/call_finalization.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/call_tracer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/call_tracer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_args.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_args_preconditioning.cc" role="src" />
|
||||
|
|
@ -1092,18 +1088,12 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder_impl.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder_impl.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_stack_trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/channel_stack_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/connected_channel.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/connected_channel.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/context.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/metrics.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/metrics.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/promise_based_filter.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/promise_based_filter.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/status_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/status_util.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/channel/tcp_tracer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/compression/compression.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/compression/compression_internal.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/compression/compression_internal.h" role="src" />
|
||||
|
|
@ -1118,14 +1108,11 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/config/load_config.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/event_log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/event_log.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/histogram_view.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/histogram_view.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/stats.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/stats.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/stats_data.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/stats_data.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/trace_flags.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/trace_flags.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/debug/trace_impl.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/ares_resolver.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/ares_resolver.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/cf_engine/cf_engine.cc" role="src" />
|
||||
|
|
@ -1147,6 +1134,7 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/can_track_errors.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/chaotic_good_extension.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/supports_fd.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/tcp_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/forkable.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/forkable.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/grpc_polled_fd.h" role="src" />
|
||||
|
|
@ -1217,7 +1205,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/event_engine/thready_event_engine/thready_event_engine.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/time_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/time_util.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/utils.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/event_engine/utils.h" role="src" />
|
||||
|
|
@ -1242,38 +1229,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/experiments/config.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/experiments/experiments.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/experiments/experiments.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/alloc.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/alloc.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/android/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/atm.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/iphone/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/linux/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/linux/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/msys/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/posix/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/spinlock.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/string.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/sync_abseil.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/time_precise.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/time_precise.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/tmpfile.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/useful.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/string_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gpr/windows/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/atomic_utils.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/bitset.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/chunked_vector.h" role="src" />
|
||||
|
|
@ -1285,11 +1240,15 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/gprpp/directory_reader.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/down_cast.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/dual_ref_counted.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/dump_args.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/dump_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/env.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/examine_stack.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/examine_stack.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/fork.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/fork.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/glob.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/glob.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/host_port.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/host_port.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/if_list.h" role="src" />
|
||||
|
|
@ -1347,14 +1306,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/gprpp/work_serializer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/work_serializer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/gprpp/xxhash_inline.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/format_request.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/format_request.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/httpcli.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/httpcli.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/httpcli_security_connector.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/httpcli_ssl_credentials.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/parser.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/http/parser.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/block_annotate.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/buffer_list.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/buffer_list.h" role="src" />
|
||||
|
|
@ -1387,7 +1338,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/iomgr/ev_poll_posix.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/ev_posix.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/ev_posix.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/ev_windows.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/event_engine_shims/closure.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/event_engine_shims/closure.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/event_engine_shims/endpoint.cc" role="src" />
|
||||
|
|
@ -1497,17 +1447,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_pipe.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_channel_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_object_loader.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_object_loader.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_reader.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_reader.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_util.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_writer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/json/json_writer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/activity.cc" role="src" />
|
||||
|
|
@ -1529,6 +1468,7 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/promise/latch.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/loop.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/map.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/observable.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/party.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/party.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/pipe.h" role="src" />
|
||||
|
|
@ -1540,8 +1480,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/promise/sleep.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/sleep.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/status_flag.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/try_join.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/promise/try_seq.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/resource_quota/api.cc" role="src" />
|
||||
|
|
@ -1558,8 +1496,6 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/resource_quota/resource_quota.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/resource_quota/thread_quota.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/resource_quota/thread_quota.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/resource_quota/trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/resource_quota/trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/security/authorization/audit_logging.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/security/authorization/audit_logging.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/security/authorization/authorization_engine.h" role="src" />
|
||||
|
|
@ -1684,11 +1620,9 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/slice/slice_buffer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_buffer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_internal.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_refcount.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_refcount.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_string_helpers.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/slice/slice_string_helpers.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/api_trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/api_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/byte_buffer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/byte_buffer_reader.cc" role="src" />
|
||||
|
|
@ -1697,7 +1631,8 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/surface/call_details.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/call_log_batch.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/call_test_only.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/call_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/call_utils.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/call_utils.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/channel.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/channel.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/channel_create.cc" role="src" />
|
||||
|
|
@ -1706,12 +1641,16 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/surface/channel_init.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/channel_stack_type.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/channel_stack_type.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/client_call.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/client_call.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/completion_queue.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/completion_queue.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/completion_queue_factory.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/completion_queue_factory.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/event_string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/event_string.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/filter_stack_call.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/filter_stack_call.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/init.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/init.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/init_internally.cc" role="src" />
|
||||
|
|
@ -1721,17 +1660,16 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/surface/legacy_channel.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/legacy_channel.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/metadata_array.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/server_call.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/server_call.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/validate_metadata.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/validate_metadata.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/version.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/wait_for_cq_end_op.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/surface/wait_for_cq_end_op.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/batch_builder.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/batch_builder.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/bdp_estimator.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/bdp_estimator.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_arena_allocator.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_arena_allocator.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_destination.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_filters.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_filters.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/call_final_info.cc" role="src" />
|
||||
|
|
@ -1744,6 +1682,8 @@
|
|||
<file baseinstalldir="/" name="src/core/lib/transport/error_utils.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/error_utils.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/http2_errors.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/interception_chain.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/interception_chain.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/message.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/message.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/lib/transport/metadata.cc" role="src" />
|
||||
|
|
@ -1858,8 +1798,6 @@
|
|||
<file baseinstalldir="/" name="src/core/resolver/xds/xds_dependency_manager.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/resolver/xds/xds_resolver.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/resolver/xds/xds_resolver_attributes.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/resolver/xds/xds_resolver_trace.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/resolver/xds/xds_resolver_trace.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/server/server.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/server/server.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/server/server_call_tracer_filter.cc" role="src" />
|
||||
|
|
@ -1878,6 +1816,17 @@
|
|||
<file baseinstalldir="/" name="src/core/service_config/service_config_impl.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/service_config/service_config_parser.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/service_config/service_config_parser.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/call_tracer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/call_tracer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/histogram_view.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/histogram_view.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/metrics.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/metrics.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/stats.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/stats.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/stats_data.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/stats_data.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/telemetry/tcp_tracer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/aes_gcm.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/gsec.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/gsec.h" role="src" />
|
||||
|
|
@ -1936,6 +1885,59 @@
|
|||
<file baseinstalldir="/" name="src/core/tsi/transport_security_grpc.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/tsi/transport_security_grpc.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/tsi/transport_security_interface.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/alloc.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/alloc.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/android/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/atm.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/gcp_metadata_query.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/gcp_metadata_query.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/format_request.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/format_request.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/httpcli.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/httpcli.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/httpcli_security_connector.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/httpcli_ssl_credentials.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/parser.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/http_client/parser.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/iphone/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_channel_args.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_object_loader.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_object_loader.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_reader.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_reader.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_util.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_writer.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/json/json_writer.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/linux/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/linux/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/msys/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/posix/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/spinlock.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/string.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/sync_abseil.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/time_precise.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/time_precise.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/tmpfile.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/useful.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/cpu.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/log.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/string.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/string_util.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/sync.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/time.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/util/windows/tmpfile.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/xds/grpc/certificate_provider_store.cc" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/xds/grpc/certificate_provider_store.h" role="src" />
|
||||
<file baseinstalldir="/" name="src/core/xds/grpc/file_watcher_certificate_provider_factory.cc" role="src" />
|
||||
|
|
@ -2517,7 +2519,6 @@
|
|||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/conf/conf.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/conf/internal.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c" role="src" />
|
||||
|
|
@ -2540,6 +2541,8 @@
|
|||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/crypto/dsa/internal.h" role="src" />
|
||||
|
|
@ -2860,6 +2863,7 @@
|
|||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/evp.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/ex_data.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h" role="src" />
|
||||
<file baseinstalldir="/" name="third_party/boringssl-with-bazel/src/include/openssl/hkdf.h" role="src" />
|
||||
|
|
|
|||
|
|
@ -26,9 +26,12 @@ pyasn1==0.5.0
|
|||
rsa==4.9
|
||||
greenlet==1.1.3.post0
|
||||
zope.interface==6.1
|
||||
opentelemetry-sdk==1.21.0
|
||||
opentelemetry-api==1.21.0
|
||||
opentelemetry-sdk==1.25.0
|
||||
opentelemetry-api==1.25.0
|
||||
importlib-metadata==6.11.0
|
||||
opentelemetry-resourcedetector-gcp==1.6.0a0
|
||||
opentelemetry-exporter-prometheus==0.46b0
|
||||
prometheus_client==0.20.0
|
||||
Deprecated==1.2.14
|
||||
opentelemetry-semantic-conventions==0.42b0
|
||||
typing-extensions==4.9.0
|
||||
|
|
|
|||
2
setup.py
2
setup.py
|
|
@ -441,7 +441,7 @@ DEFINE_MACROS += (("GRPC_DO_NOT_INSTANTIATE_POSIX_POLLER", 1),)
|
|||
|
||||
# Fix for Cython build issue in aarch64.
|
||||
# It's required to define this macro before include <inttypes.h>.
|
||||
# <inttypes.h> was included in core/lib/channel/call_tracer.h.
|
||||
# <inttypes.h> was included in core/telemetry/call_tracer.h.
|
||||
# This macro should already be defined in grpc/grpc.h through port_platform.h,
|
||||
# but we're still having issue in aarch64, so we manually define the macro here.
|
||||
# TODO(xuanwn): Figure out what's going on in the aarch64 build so we can support
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 5a2bca2124800f2861263959b72bc35cdf18949b
|
||||
// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: b8a2bffc598f230484ff48a247526a9820facfc2
|
||||
|
||||
// Copyright (c) 2018, Google Inc.
|
||||
//
|
||||
|
|
@ -1344,6 +1344,15 @@
|
|||
#define DH_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_size)
|
||||
#define DH_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_up_ref)
|
||||
#define DHparams_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DHparams_dup)
|
||||
#define DILITHIUM_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_generate_key)
|
||||
#define DILITHIUM_generate_key_external_entropy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_generate_key_external_entropy)
|
||||
#define DILITHIUM_marshal_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_marshal_private_key)
|
||||
#define DILITHIUM_marshal_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_marshal_public_key)
|
||||
#define DILITHIUM_parse_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_parse_private_key)
|
||||
#define DILITHIUM_parse_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_parse_public_key)
|
||||
#define DILITHIUM_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_sign)
|
||||
#define DILITHIUM_sign_deterministic BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_sign_deterministic)
|
||||
#define DILITHIUM_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DILITHIUM_verify)
|
||||
#define DIRECTORYSTRING_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DIRECTORYSTRING_free)
|
||||
#define DIRECTORYSTRING_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DIRECTORYSTRING_it)
|
||||
#define DIRECTORYSTRING_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DIRECTORYSTRING_new)
|
||||
|
|
@ -2697,11 +2706,9 @@
|
|||
#define X509_STORE_load_locations BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_load_locations)
|
||||
#define X509_STORE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_new)
|
||||
#define X509_STORE_set1_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set1_param)
|
||||
#define X509_STORE_set_check_crl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_check_crl)
|
||||
#define X509_STORE_set_default_paths BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_default_paths)
|
||||
#define X509_STORE_set_depth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_depth)
|
||||
#define X509_STORE_set_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_flags)
|
||||
#define X509_STORE_set_get_crl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_get_crl)
|
||||
#define X509_STORE_set_purpose BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_purpose)
|
||||
#define X509_STORE_set_trust BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_trust)
|
||||
#define X509_STORE_set_verify_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_set_verify_cb)
|
||||
|
|
@ -2957,19 +2964,22 @@
|
|||
#define bn_mont_ctx_set_RR_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mont_ctx_set_RR_consttime)
|
||||
#define bn_mont_n0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mont_n0)
|
||||
#define bn_mul4x_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul4x_mont)
|
||||
#define bn_mul4x_mont_gather5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul4x_mont_gather5)
|
||||
#define bn_mul_add_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_add_words)
|
||||
#define bn_mul_comba4 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_comba4)
|
||||
#define bn_mul_comba8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_comba8)
|
||||
#define bn_mul_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_consttime)
|
||||
#define bn_mul_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_mont)
|
||||
#define bn_mul_mont_gather5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_mont_gather5)
|
||||
#define bn_mul_mont_gather5_nohw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_mont_gather5_nohw)
|
||||
#define bn_mul_mont_nohw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_mont_nohw)
|
||||
#define bn_mul_small BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_small)
|
||||
#define bn_mul_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mul_words)
|
||||
#define bn_mulx4x_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mulx4x_mont)
|
||||
#define bn_mulx4x_mont_gather5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_mulx4x_mont_gather5)
|
||||
#define bn_odd_number_is_obviously_composite BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_odd_number_is_obviously_composite)
|
||||
#define bn_one_to_montgomery BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_one_to_montgomery)
|
||||
#define bn_power5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_power5)
|
||||
#define bn_power5_nohw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_power5_nohw)
|
||||
#define bn_powerx5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_powerx5)
|
||||
#define bn_rand_range_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_rand_range_words)
|
||||
#define bn_rand_secret_range BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_rand_secret_range)
|
||||
#define bn_reduce_once BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_reduce_once)
|
||||
|
|
|
|||
352
src/core/BUILD
352
src/core/BUILD
File diff suppressed because it is too large
Load Diff
|
|
@ -28,10 +28,10 @@
|
|||
#include <grpc/support/port_platform.h>
|
||||
|
||||
#include "src/core/channelz/channelz.h"
|
||||
#include "src/core/lib/gpr/string.h"
|
||||
#include "src/core/lib/gprpp/time.h"
|
||||
#include "src/core/lib/slice/slice.h"
|
||||
#include "src/core/lib/slice/slice_internal.h"
|
||||
#include "src/core/util/string.h"
|
||||
|
||||
namespace grpc_core {
|
||||
namespace channelz {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
#include "src/core/lib/gprpp/sync.h"
|
||||
#include "src/core/lib/json/json.h"
|
||||
#include "src/core/util/json/json.h"
|
||||
|
||||
namespace grpc_core {
|
||||
namespace channelz {
|
||||
|
|
|
|||
|
|
@ -37,12 +37,12 @@
|
|||
#include "src/core/lib/address_utils/parse_address.h"
|
||||
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
||||
#include "src/core/lib/channel/channel_args.h"
|
||||
#include "src/core/lib/gpr/string.h"
|
||||
#include "src/core/lib/gpr/useful.h"
|
||||
#include "src/core/lib/iomgr/resolved_address.h"
|
||||
#include "src/core/lib/json/json_writer.h"
|
||||
#include "src/core/lib/transport/connectivity_state.h"
|
||||
#include "src/core/lib/uri/uri_parser.h"
|
||||
#include "src/core/util/json/json_writer.h"
|
||||
#include "src/core/util/string.h"
|
||||
#include "src/core/util/useful.h"
|
||||
|
||||
namespace grpc_core {
|
||||
namespace channelz {
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@
|
|||
#include <grpc/support/port_platform.h>
|
||||
|
||||
#include "src/core/channelz/channel_trace.h"
|
||||
#include "src/core/lib/gpr/time_precise.h"
|
||||
#include "src/core/lib/gpr/useful.h"
|
||||
#include "src/core/lib/gprpp/per_cpu.h"
|
||||
#include "src/core/lib/gprpp/ref_counted.h"
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
#include "src/core/lib/gprpp/sync.h"
|
||||
#include "src/core/lib/json/json.h"
|
||||
#include "src/core/util/json/json.h"
|
||||
#include "src/core/util/time_precise.h"
|
||||
#include "src/core/util/useful.h"
|
||||
|
||||
// Channel arg key for channelz node.
|
||||
#define GRPC_ARG_CHANNELZ_CHANNEL_NODE "grpc.internal.channelz_channel_node"
|
||||
|
|
@ -72,7 +72,7 @@ class ListenSocketNode;
|
|||
|
||||
namespace testing {
|
||||
class CallCountingHelperPeer;
|
||||
class ChannelNodePeer;
|
||||
class SubchannelNodePeer;
|
||||
} // namespace testing
|
||||
|
||||
// base class for all channelz entities
|
||||
|
|
@ -228,9 +228,6 @@ class ChannelNode final : public BaseNode {
|
|||
void RemoveChildSubchannel(intptr_t child_uuid);
|
||||
|
||||
private:
|
||||
// Allows the channel trace test to access trace_.
|
||||
friend class testing::ChannelNodePeer;
|
||||
|
||||
void PopulateChildRefs(Json::Object* json);
|
||||
|
||||
std::string target_;
|
||||
|
|
@ -277,6 +274,9 @@ class SubchannelNode final : public BaseNode {
|
|||
void RecordCallSucceeded() { call_counter_.RecordCallSucceeded(); }
|
||||
|
||||
private:
|
||||
// Allows the channel trace test to access trace_.
|
||||
friend class testing::SubchannelNodePeer;
|
||||
|
||||
std::atomic<grpc_connectivity_state> connectivity_state_{GRPC_CHANNEL_IDLE};
|
||||
Mutex socket_mu_;
|
||||
RefCountedPtr<SocketNode> child_socket_ ABSL_GUARDED_BY(socket_mu_);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include <vector>
|
||||
|
||||
#include "absl/log/check.h"
|
||||
#include "absl/log/log.h"
|
||||
|
||||
#include <grpc/grpc.h>
|
||||
#include <grpc/support/json.h>
|
||||
|
|
@ -35,8 +36,8 @@
|
|||
#include "src/core/channelz/channelz.h"
|
||||
#include "src/core/lib/gprpp/sync.h"
|
||||
#include "src/core/lib/iomgr/exec_ctx.h"
|
||||
#include "src/core/lib/json/json.h"
|
||||
#include "src/core/lib/json/json_writer.h"
|
||||
#include "src/core/util/json/json.h"
|
||||
#include "src/core/util/json/json_writer.h"
|
||||
|
||||
namespace grpc_core {
|
||||
namespace channelz {
|
||||
|
|
@ -171,7 +172,7 @@ void ChannelzRegistry::InternalLogAllEntities() {
|
|||
}
|
||||
for (size_t i = 0; i < nodes.size(); ++i) {
|
||||
std::string json = nodes[i]->RenderJsonString();
|
||||
gpr_log(GPR_INFO, "%s", json.c_str());
|
||||
LOG(INFO) << json;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@
|
|||
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "absl/log/log.h"
|
||||
#include "absl/status/status.h"
|
||||
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/sync.h>
|
||||
|
||||
#include "src/core/lib/config/config_vars.h"
|
||||
|
|
@ -66,10 +66,9 @@ void grpc_client_channel_global_init_backup_polling() {
|
|||
int32_t poll_interval_ms =
|
||||
grpc_core::ConfigVars::Get().ClientChannelBackupPollIntervalMs();
|
||||
if (poll_interval_ms < 0) {
|
||||
gpr_log(GPR_ERROR,
|
||||
"Invalid GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS: %d, "
|
||||
"default value %" PRId64 " will be used.",
|
||||
poll_interval_ms, g_poll_interval.millis());
|
||||
LOG(ERROR) << "Invalid GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS: "
|
||||
<< poll_interval_ms << ", default value "
|
||||
<< g_poll_interval.millis() << " will be used.";
|
||||
} else {
|
||||
g_poll_interval = grpc_core::Duration::Milliseconds(poll_interval_ms);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,243 @@
|
|||
//
|
||||
// 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.
|
||||
//
|
||||
|
||||
#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_H
|
||||
#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_H
|
||||
|
||||
#include <grpc/support/port_platform.h>
|
||||
|
||||
#include "absl/status/status.h"
|
||||
#include "absl/status/statusor.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
|
||||
#include "src/core/client_channel/client_channel_factory.h"
|
||||
#include "src/core/client_channel/config_selector.h"
|
||||
#include "src/core/client_channel/subchannel.h"
|
||||
#include "src/core/ext/filters/channel_idle/idle_filter_state.h"
|
||||
#include "src/core/lib/gprpp/single_set_ptr.h"
|
||||
#include "src/core/lib/promise/observable.h"
|
||||
#include "src/core/lib/surface/channel.h"
|
||||
#include "src/core/lib/transport/metadata.h"
|
||||
#include "src/core/load_balancing/lb_policy.h"
|
||||
#include "src/core/resolver/resolver.h"
|
||||
#include "src/core/service_config/service_config.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
class ClientChannel : public Channel {
|
||||
public:
|
||||
using PickerObservable =
|
||||
Observable<RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>>;
|
||||
|
||||
class CallDestinationFactory {
|
||||
public:
|
||||
struct RawPointerChannelArgTag {};
|
||||
|
||||
static absl::string_view ChannelArgName() {
|
||||
return "grpc.internal.client_channel_call_destination";
|
||||
}
|
||||
|
||||
virtual RefCountedPtr<UnstartedCallDestination> CreateCallDestination(
|
||||
PickerObservable) = 0;
|
||||
|
||||
protected:
|
||||
~CallDestinationFactory() = default;
|
||||
};
|
||||
|
||||
static absl::StatusOr<RefCountedPtr<Channel>> Create(
|
||||
std::string target, ChannelArgs channel_args);
|
||||
|
||||
// Do not instantiate directly -- use Create() instead.
|
||||
ClientChannel(std::string target_uri, ChannelArgs args,
|
||||
std::string uri_to_resolve,
|
||||
RefCountedPtr<ServiceConfig> default_service_config,
|
||||
ClientChannelFactory* client_channel_factory,
|
||||
CallDestinationFactory* call_destination_factory);
|
||||
|
||||
~ClientChannel() override;
|
||||
|
||||
void Orphaned() override;
|
||||
|
||||
grpc_call* CreateCall(grpc_call* parent_call, uint32_t propagation_mask,
|
||||
grpc_completion_queue* cq,
|
||||
grpc_pollset_set* /*pollset_set_alternative*/,
|
||||
Slice path, absl::optional<Slice> authority,
|
||||
Timestamp deadline, bool registered_method) override;
|
||||
|
||||
void StartCall(UnstartedCallHandler unstarted_handler) override;
|
||||
|
||||
grpc_event_engine::experimental::EventEngine* event_engine() const override {
|
||||
return event_engine_.get();
|
||||
}
|
||||
|
||||
// TODO(ctiller): lame channels
|
||||
bool IsLame() const override { return false; }
|
||||
|
||||
bool SupportsConnectivityWatcher() const override { return true; }
|
||||
|
||||
// Returns the current connectivity state. If try_to_connect is true,
|
||||
// triggers a connection attempt if not already connected.
|
||||
grpc_connectivity_state CheckConnectivityState(bool try_to_connect) override;
|
||||
|
||||
void WatchConnectivityState(grpc_connectivity_state last_observed_state,
|
||||
Timestamp deadline, grpc_completion_queue* cq,
|
||||
void* tag) override;
|
||||
|
||||
// Starts and stops a connectivity watch. The watcher will be initially
|
||||
// notified as soon as the state changes from initial_state and then on
|
||||
// every subsequent state change until either the watch is stopped or
|
||||
// it is notified that the state has changed to SHUTDOWN.
|
||||
//
|
||||
// This is intended to be used when starting watches from code inside of
|
||||
// C-core (e.g., for a nested control plane channel for things like xds).
|
||||
void AddConnectivityWatcher(
|
||||
grpc_connectivity_state initial_state,
|
||||
OrphanablePtr<AsyncConnectivityStateWatcherInterface> watcher) override;
|
||||
void RemoveConnectivityWatcher(
|
||||
AsyncConnectivityStateWatcherInterface* watcher) override;
|
||||
|
||||
void GetInfo(const grpc_channel_info* channel_info) override;
|
||||
|
||||
void ResetConnectionBackoff() override;
|
||||
|
||||
void Ping(grpc_completion_queue* cq, void* tag) override;
|
||||
|
||||
// Flag that this object gets stored in channel args as a raw pointer.
|
||||
struct RawPointerChannelArgTag {};
|
||||
static absl::string_view ChannelArgName() {
|
||||
return "grpc.internal.client_channel";
|
||||
}
|
||||
|
||||
private:
|
||||
class ClientChannelControlHelper;
|
||||
class ResolverResultHandler;
|
||||
class SubchannelWrapper;
|
||||
|
||||
void CreateResolverLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
void DestroyResolverAndLbPolicyLocked()
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void TryToConnectLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void OnResolverResultChangedLocked(Resolver::Result result)
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
void OnResolverErrorLocked(absl::Status status)
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
absl::Status CreateOrUpdateLbPolicyLocked(
|
||||
RefCountedPtr<LoadBalancingPolicy::Config> lb_policy_config,
|
||||
const absl::optional<std::string>& health_check_service_name,
|
||||
Resolver::Result result) ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
OrphanablePtr<LoadBalancingPolicy> CreateLbPolicyLocked(
|
||||
const ChannelArgs& args) ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void UpdateServiceConfigInControlPlaneLocked(
|
||||
RefCountedPtr<ServiceConfig> service_config,
|
||||
RefCountedPtr<ConfigSelector> config_selector, std::string lb_policy_name)
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void UpdateServiceConfigInDataPlaneLocked()
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void UpdateStateLocked(grpc_connectivity_state state,
|
||||
const absl::Status& status, const char* reason)
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void UpdateStateAndPickerLocked(
|
||||
grpc_connectivity_state state, const absl::Status& status,
|
||||
const char* reason,
|
||||
RefCountedPtr<LoadBalancingPolicy::SubchannelPicker> picker)
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
||||
|
||||
void StartIdleTimer();
|
||||
|
||||
// Applies service config settings from config_selector to the call.
|
||||
// May modify call context and client_initial_metadata.
|
||||
absl::Status ApplyServiceConfigToCall(
|
||||
ConfigSelector& config_selector,
|
||||
ClientMetadata& client_initial_metadata) const;
|
||||
|
||||
const ChannelArgs channel_args_;
|
||||
const std::shared_ptr<grpc_event_engine::experimental::EventEngine>
|
||||
event_engine_;
|
||||
const std::string uri_to_resolve_;
|
||||
const size_t service_config_parser_index_;
|
||||
const RefCountedPtr<ServiceConfig> default_service_config_;
|
||||
ClientChannelFactory* const client_channel_factory_;
|
||||
const std::string default_authority_;
|
||||
channelz::ChannelNode* const channelz_node_;
|
||||
GlobalStatsPluginRegistry::StatsPluginGroup stats_plugin_group_;
|
||||
|
||||
//
|
||||
// Idleness state.
|
||||
//
|
||||
const Duration idle_timeout_;
|
||||
IdleFilterState idle_state_{false};
|
||||
SingleSetPtr<Activity, typename ActivityPtr::deleter_type> idle_activity_;
|
||||
|
||||
//
|
||||
// Fields related to name resolution.
|
||||
//
|
||||
struct ResolverDataForCalls {
|
||||
RefCountedPtr<ConfigSelector> config_selector;
|
||||
RefCountedPtr<UnstartedCallDestination> call_destination;
|
||||
};
|
||||
Observable<absl::StatusOr<ResolverDataForCalls>> resolver_data_for_calls_;
|
||||
|
||||
//
|
||||
// Fields related to LB picks.
|
||||
//
|
||||
PickerObservable picker_;
|
||||
const RefCountedPtr<UnstartedCallDestination> call_destination_;
|
||||
|
||||
//
|
||||
// Fields used in the control plane. Guarded by work_serializer.
|
||||
//
|
||||
std::shared_ptr<WorkSerializer> work_serializer_;
|
||||
ConnectivityStateTracker state_tracker_ ABSL_GUARDED_BY(*work_serializer_);
|
||||
OrphanablePtr<Resolver> resolver_ ABSL_GUARDED_BY(*work_serializer_);
|
||||
bool previous_resolution_contained_addresses_
|
||||
ABSL_GUARDED_BY(*work_serializer_) = false;
|
||||
RefCountedPtr<ServiceConfig> saved_service_config_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
RefCountedPtr<ConfigSelector> saved_config_selector_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
OrphanablePtr<LoadBalancingPolicy> lb_policy_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
RefCountedPtr<SubchannelPoolInterface> subchannel_pool_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
// The number of SubchannelWrapper instances referencing a given Subchannel.
|
||||
std::map<Subchannel*, int> subchannel_refcount_map_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
// The set of SubchannelWrappers that currently exist.
|
||||
// No need to hold a ref, since the set is updated in the control-plane
|
||||
// work_serializer when the SubchannelWrappers are created and destroyed.
|
||||
absl::flat_hash_set<SubchannelWrapper*> subchannel_wrappers_
|
||||
ABSL_GUARDED_BY(*work_serializer_);
|
||||
int keepalive_time_ ABSL_GUARDED_BY(*work_serializer_) = -1;
|
||||
absl::Status disconnect_error_ ABSL_GUARDED_BY(*work_serializer_);
|
||||
|
||||
//
|
||||
// Fields accessed via GetChannelInfo().
|
||||
//
|
||||
Mutex info_mu_;
|
||||
std::string info_lb_policy_name_ ABSL_GUARDED_BY(info_mu_);
|
||||
std::string info_service_config_json_ ABSL_GUARDED_BY(info_mu_);
|
||||
};
|
||||
|
||||
} // namespace grpc_core
|
||||
|
||||
#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_H
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -43,12 +43,9 @@
|
|||
#include "src/core/client_channel/dynamic_filters.h"
|
||||
#include "src/core/client_channel/subchannel.h"
|
||||
#include "src/core/client_channel/subchannel_pool_interface.h"
|
||||
#include "src/core/lib/channel/call_tracer.h"
|
||||
#include "src/core/lib/channel/channel_args.h"
|
||||
#include "src/core/lib/channel/channel_fwd.h"
|
||||
#include "src/core/lib/channel/channel_stack.h"
|
||||
#include "src/core/lib/channel/context.h"
|
||||
#include "src/core/lib/gpr/time_precise.h"
|
||||
#include "src/core/lib/gprpp/orphanable.h"
|
||||
#include "src/core/lib/gprpp/ref_counted.h"
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
|
|
@ -60,8 +57,6 @@
|
|||
#include "src/core/lib/iomgr/error.h"
|
||||
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
||||
#include "src/core/lib/iomgr/polling_entity.h"
|
||||
#include "src/core/lib/promise/activity.h"
|
||||
#include "src/core/lib/promise/arena_promise.h"
|
||||
#include "src/core/lib/resource_quota/arena.h"
|
||||
#include "src/core/lib/slice/slice.h"
|
||||
#include "src/core/lib/transport/connectivity_state.h"
|
||||
|
|
@ -71,6 +66,8 @@
|
|||
#include "src/core/load_balancing/lb_policy.h"
|
||||
#include "src/core/resolver/resolver.h"
|
||||
#include "src/core/service_config/service_config.h"
|
||||
#include "src/core/telemetry/call_tracer.h"
|
||||
#include "src/core/util/time_precise.h"
|
||||
|
||||
//
|
||||
// Client channel filter
|
||||
|
|
@ -86,9 +83,6 @@
|
|||
// Channel arg key for server URI string.
|
||||
#define GRPC_ARG_SERVER_URI "grpc.server_uri"
|
||||
|
||||
// Channel arg containing a pointer to the ClientChannelFilter object.
|
||||
#define GRPC_ARG_CLIENT_CHANNEL "grpc.internal.client_channel_filter"
|
||||
|
||||
// Max number of batches that can be pending on a call at any given
|
||||
// time. This includes one batch for each of the following ops:
|
||||
// recv_initial_metadata
|
||||
|
|
@ -103,20 +97,16 @@ namespace grpc_core {
|
|||
|
||||
class ClientChannelFilter final {
|
||||
public:
|
||||
static const grpc_channel_filter kFilterVtableWithPromises;
|
||||
static const grpc_channel_filter kFilterVtableWithoutPromises;
|
||||
static const grpc_channel_filter kFilter;
|
||||
|
||||
class LoadBalancedCall;
|
||||
class FilterBasedLoadBalancedCall;
|
||||
class PromiseBasedLoadBalancedCall;
|
||||
|
||||
// Flag that this object gets stored in channel args as a raw pointer.
|
||||
struct RawPointerChannelArgTag {};
|
||||
static absl::string_view ChannelArgName() { return GRPC_ARG_CLIENT_CHANNEL; }
|
||||
|
||||
static ArenaPromise<ServerMetadataHandle> MakeCallPromise(
|
||||
grpc_channel_element* elem, CallArgs call_args,
|
||||
NextPromiseFactory next_promise_factory);
|
||||
static absl::string_view ChannelArgName() {
|
||||
return "grpc.internal.client_channel_filter";
|
||||
}
|
||||
|
||||
grpc_connectivity_state CheckConnectivityState(bool try_to_connect);
|
||||
|
||||
|
|
@ -162,20 +152,9 @@ class ClientChannelFilter final {
|
|||
grpc_closure* on_call_destruction_complete,
|
||||
absl::AnyInvocable<void()> on_commit, bool is_transparent_retry);
|
||||
|
||||
ArenaPromise<ServerMetadataHandle> CreateLoadBalancedCallPromise(
|
||||
CallArgs call_args, absl::AnyInvocable<void()> on_commit,
|
||||
bool is_transparent_retry);
|
||||
|
||||
// Exposed for testing only.
|
||||
static ChannelArgs MakeSubchannelArgs(
|
||||
const ChannelArgs& channel_args, const ChannelArgs& address_args,
|
||||
const RefCountedPtr<SubchannelPoolInterface>& subchannel_pool,
|
||||
const std::string& channel_default_authority);
|
||||
|
||||
private:
|
||||
class CallData;
|
||||
class FilterBasedCallData;
|
||||
class PromiseBasedCallData;
|
||||
class ResolverResultHandler;
|
||||
class SubchannelWrapper;
|
||||
class ClientChannelControlHelper;
|
||||
|
|
@ -378,8 +357,7 @@ class ClientChannelFilter final {
|
|||
class ClientChannelFilter::LoadBalancedCall
|
||||
: public InternallyRefCounted<LoadBalancedCall, UnrefCallDtor> {
|
||||
public:
|
||||
LoadBalancedCall(ClientChannelFilter* chand,
|
||||
grpc_call_context_element* call_context,
|
||||
LoadBalancedCall(ClientChannelFilter* chand, Arena* arena,
|
||||
absl::AnyInvocable<void()> on_commit,
|
||||
bool is_transparent_retry);
|
||||
~LoadBalancedCall() override;
|
||||
|
|
@ -398,8 +376,8 @@ class ClientChannelFilter::LoadBalancedCall
|
|||
protected:
|
||||
ClientChannelFilter* chand() const { return chand_; }
|
||||
ClientCallTracer::CallAttemptTracer* call_attempt_tracer() const {
|
||||
return static_cast<ClientCallTracer::CallAttemptTracer*>(
|
||||
call_context_[GRPC_CONTEXT_CALL_TRACER].value);
|
||||
return DownCast<ClientCallTracer::CallAttemptTracer*>(
|
||||
arena_->GetContext<CallTracerInterface>());
|
||||
}
|
||||
ConnectedSubchannel* connected_subchannel() const {
|
||||
return connected_subchannel_.get();
|
||||
|
|
@ -408,6 +386,7 @@ class ClientChannelFilter::LoadBalancedCall
|
|||
lb_subchannel_call_tracker() const {
|
||||
return lb_subchannel_call_tracker_.get();
|
||||
}
|
||||
Arena* arena() const { return arena_; }
|
||||
|
||||
void Commit() {
|
||||
auto on_commit = std::move(on_commit_);
|
||||
|
|
@ -433,14 +412,11 @@ class ClientChannelFilter::LoadBalancedCall
|
|||
|
||||
void RecordLatency();
|
||||
|
||||
grpc_call_context_element* call_context() const { return call_context_; }
|
||||
|
||||
private:
|
||||
class LbCallState;
|
||||
class Metadata;
|
||||
class BackendMetricAccessor;
|
||||
|
||||
virtual Arena* arena() const = 0;
|
||||
virtual grpc_polling_entity* pollent() = 0;
|
||||
virtual grpc_metadata_batch* send_initial_metadata() const = 0;
|
||||
|
||||
|
|
@ -466,7 +442,7 @@ class ClientChannelFilter::LoadBalancedCall
|
|||
const BackendMetricData* backend_metric_data_ = nullptr;
|
||||
std::unique_ptr<LoadBalancingPolicy::SubchannelCallTrackerInterface>
|
||||
lb_subchannel_call_tracker_;
|
||||
grpc_call_context_element* const call_context_;
|
||||
Arena* const arena_;
|
||||
};
|
||||
|
||||
class ClientChannelFilter::FilterBasedLoadBalancedCall final
|
||||
|
|
@ -502,7 +478,6 @@ class ClientChannelFilter::FilterBasedLoadBalancedCall final
|
|||
using LoadBalancedCall::chand;
|
||||
using LoadBalancedCall::Commit;
|
||||
|
||||
Arena* arena() const override { return arena_; }
|
||||
grpc_polling_entity* pollent() override { return pollent_; }
|
||||
grpc_metadata_batch* send_initial_metadata() const override {
|
||||
return pending_batches_[0]
|
||||
|
|
@ -557,7 +532,6 @@ class ClientChannelFilter::FilterBasedLoadBalancedCall final
|
|||
// TODO(roth): Instead of duplicating these fields in every filter
|
||||
// that uses any one of them, we should store them in the call
|
||||
// context. This will save per-call memory overhead.
|
||||
Arena* arena_;
|
||||
grpc_call_stack* owning_call_;
|
||||
CallCombiner* call_combiner_;
|
||||
grpc_polling_entity* pollent_;
|
||||
|
|
@ -594,33 +568,6 @@ class ClientChannelFilter::FilterBasedLoadBalancedCall final
|
|||
grpc_transport_stream_op_batch* pending_batches_[MAX_PENDING_BATCHES] = {};
|
||||
};
|
||||
|
||||
class ClientChannelFilter::PromiseBasedLoadBalancedCall final
|
||||
: public ClientChannelFilter::LoadBalancedCall {
|
||||
public:
|
||||
PromiseBasedLoadBalancedCall(ClientChannelFilter* chand,
|
||||
absl::AnyInvocable<void()> on_commit,
|
||||
bool is_transparent_retry);
|
||||
|
||||
ArenaPromise<ServerMetadataHandle> MakeCallPromise(
|
||||
CallArgs call_args, OrphanablePtr<PromiseBasedLoadBalancedCall> lb_call);
|
||||
|
||||
private:
|
||||
Arena* arena() const override;
|
||||
grpc_polling_entity* pollent() override { return &pollent_; }
|
||||
grpc_metadata_batch* send_initial_metadata() const override;
|
||||
|
||||
void RetryPickLocked() override;
|
||||
|
||||
void OnAddToQueueLocked() override
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&ClientChannelFilter::lb_mu_);
|
||||
|
||||
grpc_polling_entity pollent_;
|
||||
ClientMetadataHandle client_initial_metadata_;
|
||||
Waker waker_;
|
||||
bool was_queued_ = false;
|
||||
Slice peer_string_;
|
||||
};
|
||||
|
||||
} // namespace grpc_core
|
||||
|
||||
#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FILTER_H
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@
|
|||
|
||||
#include <grpc/support/log.h>
|
||||
|
||||
#include "src/core/lib/channel/call_tracer.h"
|
||||
#include "src/core/lib/channel/context.h"
|
||||
#include "src/core/lib/gprpp/unique_type_name.h"
|
||||
#include "src/core/lib/resource_quota/arena.h"
|
||||
#include "src/core/lib/transport/call_destination.h"
|
||||
#include "src/core/load_balancing/lb_policy.h"
|
||||
#include "src/core/service_config/service_config_call_data.h"
|
||||
#include "src/core/telemetry/call_tracer.h"
|
||||
|
||||
//
|
||||
// This file contains internal interfaces used to allow various plugins
|
||||
|
|
@ -57,9 +57,8 @@ class ClientChannelLbCallState : public LoadBalancingPolicy::CallState {
|
|||
// Internal type for ServiceConfigCallData. Handles call commits.
|
||||
class ClientChannelServiceConfigCallData final : public ServiceConfigCallData {
|
||||
public:
|
||||
ClientChannelServiceConfigCallData(Arena* arena,
|
||||
grpc_call_context_element* call_context)
|
||||
: ServiceConfigCallData(arena, call_context) {}
|
||||
explicit ClientChannelServiceConfigCallData(Arena* arena)
|
||||
: ServiceConfigCallData(arena) {}
|
||||
|
||||
void SetOnCommit(absl::AnyInvocable<void()> on_commit) {
|
||||
CHECK(on_commit_ == nullptr);
|
||||
|
|
@ -75,6 +74,18 @@ class ClientChannelServiceConfigCallData final : public ServiceConfigCallData {
|
|||
absl::AnyInvocable<void()> on_commit_;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct ContextSubclass<ClientChannelServiceConfigCallData> {
|
||||
using Base = ServiceConfigCallData;
|
||||
};
|
||||
|
||||
class SubchannelInterfaceWithCallDestination : public SubchannelInterface {
|
||||
public:
|
||||
using SubchannelInterface::SubchannelInterface;
|
||||
// Obtain the call destination for this subchannel.
|
||||
virtual RefCountedPtr<UnstartedCallDestination> call_destination() = 0;
|
||||
};
|
||||
|
||||
} // namespace grpc_core
|
||||
|
||||
#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H
|
||||
|
|
|
|||
|
|
@ -31,24 +31,11 @@
|
|||
|
||||
namespace grpc_core {
|
||||
|
||||
namespace {
|
||||
bool IsEverythingBelowClientChannelPromiseSafe(const ChannelArgs& args) {
|
||||
return !args.GetBool(GRPC_ARG_ENABLE_RETRIES).value_or(true);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
void BuildClientChannelConfiguration(CoreConfiguration::Builder* builder) {
|
||||
internal::ClientChannelServiceConfigParser::Register(builder);
|
||||
internal::RetryServiceConfigParser::Register(builder);
|
||||
builder->channel_init()
|
||||
->RegisterFilter(GRPC_CLIENT_CHANNEL,
|
||||
&ClientChannelFilter::kFilterVtableWithPromises)
|
||||
.If(IsEverythingBelowClientChannelPromiseSafe)
|
||||
.Terminal();
|
||||
builder->channel_init()
|
||||
->RegisterFilter(GRPC_CLIENT_CHANNEL,
|
||||
&ClientChannelFilter::kFilterVtableWithoutPromises)
|
||||
.IfNot(IsEverythingBelowClientChannelPromiseSafe)
|
||||
->RegisterV2Filter<ClientChannelFilter>(GRPC_CLIENT_CHANNEL)
|
||||
.Terminal();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
#include "src/core/lib/gprpp/time.h"
|
||||
#include "src/core/lib/gprpp/validation_errors.h"
|
||||
#include "src/core/lib/json/json.h"
|
||||
#include "src/core/lib/json/json_args.h"
|
||||
#include "src/core/lib/json/json_object_loader.h"
|
||||
#include "src/core/load_balancing/lb_policy.h"
|
||||
#include "src/core/service_config/service_config_parser.h"
|
||||
#include "src/core/util/json/json.h"
|
||||
#include "src/core/util/json/json_args.h"
|
||||
#include "src/core/util/json/json_object_loader.h"
|
||||
|
||||
namespace grpc_core {
|
||||
namespace internal {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#include "src/core/client_channel/config_selector.h"
|
||||
|
||||
#include "src/core/lib/channel/channel_args.h"
|
||||
#include "src/core/lib/gpr/useful.h"
|
||||
#include "src/core/util/useful.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
|
|
|
|||
|
|
@ -33,13 +33,13 @@
|
|||
|
||||
#include "src/core/client_channel/client_channel_internal.h"
|
||||
#include "src/core/lib/channel/channel_fwd.h"
|
||||
#include "src/core/lib/gpr/useful.h"
|
||||
#include "src/core/lib/gprpp/ref_counted.h"
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
#include "src/core/lib/resource_quota/arena.h"
|
||||
#include "src/core/lib/slice/slice.h"
|
||||
#include "src/core/lib/transport/metadata_batch.h"
|
||||
#include "src/core/service_config/service_config.h"
|
||||
#include "src/core/util/useful.h"
|
||||
|
||||
// Channel arg key for ConfigSelector.
|
||||
#define GRPC_ARG_CONFIG_SELECTOR "grpc.internal.config_selector"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#include <utility>
|
||||
|
||||
#include "absl/log/check.h"
|
||||
#include "absl/log/log.h"
|
||||
#include "absl/status/statusor.h"
|
||||
|
||||
#include <grpc/support/log.h>
|
||||
|
|
@ -32,10 +33,10 @@
|
|||
#include "src/core/lib/channel/channel_stack.h"
|
||||
#include "src/core/lib/channel/channel_stack_builder_impl.h"
|
||||
#include "src/core/lib/debug/trace.h"
|
||||
#include "src/core/lib/gpr/alloc.h"
|
||||
#include "src/core/lib/gprpp/status_helper.h"
|
||||
#include "src/core/lib/surface/channel_stack_type.h"
|
||||
#include "src/core/lib/surface/lame_client.h"
|
||||
#include "src/core/util/alloc.h"
|
||||
|
||||
// Conversion between call and call stack.
|
||||
#define CALL_TO_CALL_STACK(call) \
|
||||
|
|
@ -58,7 +59,6 @@ DynamicFilters::Call::Call(Args args, grpc_error_handle* error)
|
|||
const grpc_call_element_args call_args = {
|
||||
call_stack, // call_stack
|
||||
nullptr, // server_transport_data
|
||||
args.context, // context
|
||||
args.path, // path
|
||||
args.start_time, // start_time
|
||||
args.deadline, // deadline
|
||||
|
|
@ -68,7 +68,7 @@ DynamicFilters::Call::Call(Args args, grpc_error_handle* error)
|
|||
*error = grpc_call_stack_init(channel_stack_->channel_stack_.get(), 1,
|
||||
Destroy, this, &call_args);
|
||||
if (GPR_UNLIKELY(!error->ok())) {
|
||||
gpr_log(GPR_ERROR, "error: %s", StatusToString(*error).c_str());
|
||||
LOG(ERROR) << "error: " << StatusToString(*error);
|
||||
return;
|
||||
}
|
||||
grpc_call_stack_set_pollset_or_pollset_set(call_stack, args.pollent);
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@
|
|||
#include "src/core/lib/channel/channel_args.h"
|
||||
#include "src/core/lib/channel/channel_fwd.h"
|
||||
#include "src/core/lib/channel/channel_stack.h"
|
||||
#include "src/core/lib/channel/context.h"
|
||||
#include "src/core/lib/gpr/time_precise.h"
|
||||
#include "src/core/lib/gprpp/debug_location.h"
|
||||
#include "src/core/lib/gprpp/ref_counted.h"
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
|
|
@ -39,6 +37,7 @@
|
|||
#include "src/core/lib/iomgr/polling_entity.h"
|
||||
#include "src/core/lib/resource_quota/arena.h"
|
||||
#include "src/core/lib/transport/transport.h"
|
||||
#include "src/core/util/time_precise.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
|
|
@ -54,7 +53,6 @@ class DynamicFilters final : public RefCounted<DynamicFilters> {
|
|||
gpr_cycle_counter start_time;
|
||||
Timestamp deadline;
|
||||
Arena* arena;
|
||||
grpc_call_context_element* context;
|
||||
CallCombiner* call_combiner;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,336 @@
|
|||
// 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 "src/core/client_channel/load_balanced_call_destination.h"
|
||||
|
||||
#include "src/core/client_channel/client_channel.h"
|
||||
#include "src/core/client_channel/client_channel_internal.h"
|
||||
#include "src/core/client_channel/subchannel.h"
|
||||
#include "src/core/lib/channel/status_util.h"
|
||||
#include "src/core/lib/config/core_configuration.h"
|
||||
#include "src/core/lib/promise/loop.h"
|
||||
#include "src/core/telemetry/call_tracer.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
namespace {
|
||||
|
||||
class LbMetadata : public LoadBalancingPolicy::MetadataInterface {
|
||||
public:
|
||||
explicit LbMetadata(grpc_metadata_batch* batch) : batch_(batch) {}
|
||||
|
||||
void Add(absl::string_view key, absl::string_view value) override {
|
||||
if (batch_ == nullptr) return;
|
||||
// Gross, egregious hack to support legacy grpclb behavior.
|
||||
// TODO(ctiller): Use a promise context for this once that plumbing is done.
|
||||
if (key == GrpcLbClientStatsMetadata::key()) {
|
||||
batch_->Set(
|
||||
GrpcLbClientStatsMetadata(),
|
||||
const_cast<GrpcLbClientStats*>(
|
||||
reinterpret_cast<const GrpcLbClientStats*>(value.data())));
|
||||
return;
|
||||
}
|
||||
batch_->Append(key, Slice::FromStaticString(value),
|
||||
[key](absl::string_view error, const Slice& value) {
|
||||
gpr_log(GPR_ERROR, "%s",
|
||||
absl::StrCat(error, " key:", key,
|
||||
" value:", value.as_string_view())
|
||||
.c_str());
|
||||
});
|
||||
}
|
||||
|
||||
std::vector<std::pair<std::string, std::string>> TestOnlyCopyToVector()
|
||||
override {
|
||||
if (batch_ == nullptr) return {};
|
||||
Encoder encoder;
|
||||
batch_->Encode(&encoder);
|
||||
return encoder.Take();
|
||||
}
|
||||
|
||||
absl::optional<absl::string_view> Lookup(absl::string_view key,
|
||||
std::string* buffer) const override {
|
||||
if (batch_ == nullptr) return absl::nullopt;
|
||||
return batch_->GetStringValue(key, buffer);
|
||||
}
|
||||
|
||||
private:
|
||||
class Encoder {
|
||||
public:
|
||||
void Encode(const Slice& key, const Slice& value) {
|
||||
out_.emplace_back(std::string(key.as_string_view()),
|
||||
std::string(value.as_string_view()));
|
||||
}
|
||||
|
||||
template <class Which>
|
||||
void Encode(Which, const typename Which::ValueType& value) {
|
||||
auto value_slice = Which::Encode(value);
|
||||
out_.emplace_back(std::string(Which::key()),
|
||||
std::string(value_slice.as_string_view()));
|
||||
}
|
||||
|
||||
void Encode(GrpcTimeoutMetadata,
|
||||
const typename GrpcTimeoutMetadata::ValueType&) {}
|
||||
void Encode(HttpPathMetadata, const Slice&) {}
|
||||
void Encode(HttpMethodMetadata,
|
||||
const typename HttpMethodMetadata::ValueType&) {}
|
||||
|
||||
std::vector<std::pair<std::string, std::string>> Take() {
|
||||
return std::move(out_);
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<std::pair<std::string, std::string>> out_;
|
||||
};
|
||||
|
||||
grpc_metadata_batch* batch_;
|
||||
};
|
||||
|
||||
void MaybeCreateCallAttemptTracer(bool is_transparent_retry) {
|
||||
auto* call_tracer = MaybeGetContext<ClientCallTracer>();
|
||||
if (call_tracer == nullptr) return;
|
||||
auto* tracer = call_tracer->StartNewAttempt(is_transparent_retry);
|
||||
SetContext<CallTracerInterface>(tracer);
|
||||
}
|
||||
|
||||
class LbCallState : public ClientChannelLbCallState {
|
||||
public:
|
||||
void* Alloc(size_t size) override { return GetContext<Arena>()->Alloc(size); }
|
||||
|
||||
// Internal API to allow first-party LB policies to access per-call
|
||||
// attributes set by the ConfigSelector.
|
||||
ServiceConfigCallData::CallAttributeInterface* GetCallAttribute(
|
||||
UniqueTypeName type) const override {
|
||||
auto* service_config_call_data = GetContext<ServiceConfigCallData>();
|
||||
return service_config_call_data->GetCallAttribute(type);
|
||||
}
|
||||
|
||||
ClientCallTracer::CallAttemptTracer* GetCallAttemptTracer() const override {
|
||||
return GetContext<ClientCallTracer::CallAttemptTracer>();
|
||||
}
|
||||
};
|
||||
|
||||
// TODO(roth): Remove this in favor of the gprpp Match() function once
|
||||
// we can do that without breaking lock annotations.
|
||||
template <typename T>
|
||||
T HandlePickResult(
|
||||
LoadBalancingPolicy::PickResult* result,
|
||||
std::function<T(LoadBalancingPolicy::PickResult::Complete*)> complete_func,
|
||||
std::function<T(LoadBalancingPolicy::PickResult::Queue*)> queue_func,
|
||||
std::function<T(LoadBalancingPolicy::PickResult::Fail*)> fail_func,
|
||||
std::function<T(LoadBalancingPolicy::PickResult::Drop*)> drop_func) {
|
||||
auto* complete_pick =
|
||||
absl::get_if<LoadBalancingPolicy::PickResult::Complete>(&result->result);
|
||||
if (complete_pick != nullptr) {
|
||||
return complete_func(complete_pick);
|
||||
}
|
||||
auto* queue_pick =
|
||||
absl::get_if<LoadBalancingPolicy::PickResult::Queue>(&result->result);
|
||||
if (queue_pick != nullptr) {
|
||||
return queue_func(queue_pick);
|
||||
}
|
||||
auto* fail_pick =
|
||||
absl::get_if<LoadBalancingPolicy::PickResult::Fail>(&result->result);
|
||||
if (fail_pick != nullptr) {
|
||||
return fail_func(fail_pick);
|
||||
}
|
||||
auto* drop_pick =
|
||||
absl::get_if<LoadBalancingPolicy::PickResult::Drop>(&result->result);
|
||||
CHECK(drop_pick != nullptr);
|
||||
return drop_func(drop_pick);
|
||||
}
|
||||
|
||||
// Does an LB pick for a call. Returns one of the following things:
|
||||
// - Continue{}, meaning to queue the pick
|
||||
// - a non-OK status, meaning to fail the call
|
||||
// - a call destination, meaning that the pick is complete
|
||||
// When the pick is complete, pushes client_initial_metadata onto
|
||||
// call_initiator. Also adds the subchannel call tracker (if any) to
|
||||
// context.
|
||||
LoopCtl<absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>> PickSubchannel(
|
||||
LoadBalancingPolicy::SubchannelPicker& picker,
|
||||
UnstartedCallHandler& unstarted_handler) {
|
||||
// Perform LB pick.
|
||||
auto& client_initial_metadata =
|
||||
unstarted_handler.UnprocessedClientInitialMetadata();
|
||||
LoadBalancingPolicy::PickArgs pick_args;
|
||||
Slice* path = client_initial_metadata.get_pointer(HttpPathMetadata());
|
||||
CHECK(path != nullptr);
|
||||
pick_args.path = path->as_string_view();
|
||||
LbCallState lb_call_state;
|
||||
pick_args.call_state = &lb_call_state;
|
||||
LbMetadata initial_metadata(&client_initial_metadata);
|
||||
pick_args.initial_metadata = &initial_metadata;
|
||||
auto result = picker.Pick(pick_args);
|
||||
// Handle result.
|
||||
return HandlePickResult<
|
||||
LoopCtl<absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>>>(
|
||||
&result,
|
||||
// CompletePick
|
||||
[&](LoadBalancingPolicy::PickResult::Complete* complete_pick)
|
||||
-> LoopCtl<absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>> {
|
||||
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
||||
<< "client_channel: " << GetContext<Activity>()->DebugTag()
|
||||
<< " pick succeeded: subchannel="
|
||||
<< complete_pick->subchannel.get();
|
||||
CHECK(complete_pick->subchannel != nullptr);
|
||||
// Grab a ref to the call destination while we're still
|
||||
// holding the data plane mutex.
|
||||
auto call_destination =
|
||||
DownCast<SubchannelInterfaceWithCallDestination*>(
|
||||
complete_pick->subchannel.get())
|
||||
->call_destination();
|
||||
// If the subchannel has no call destination (e.g., if the
|
||||
// subchannel has moved out of state READY but the LB policy hasn't
|
||||
// yet seen that change and given us a new picker), then just
|
||||
// queue the pick. We'll try again as soon as we get a new picker.
|
||||
if (call_destination == nullptr) {
|
||||
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
||||
<< "client_channel: " << GetContext<Activity>()->DebugTag()
|
||||
<< " returned by LB picker has no connected subchannel; queueing "
|
||||
"pick";
|
||||
return Continue{};
|
||||
}
|
||||
// If the LB policy returned a call tracker, inform it that the
|
||||
// call is starting and add it to context, so that we can notify
|
||||
// it when the call finishes.
|
||||
if (complete_pick->subchannel_call_tracker != nullptr) {
|
||||
complete_pick->subchannel_call_tracker->Start();
|
||||
SetContext(complete_pick->subchannel_call_tracker.release());
|
||||
}
|
||||
// Return the connected subchannel.
|
||||
return call_destination;
|
||||
},
|
||||
// QueuePick
|
||||
[&](LoadBalancingPolicy::PickResult::Queue* /*queue_pick*/) {
|
||||
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
||||
<< "client_channel: " << GetContext<Activity>()->DebugTag()
|
||||
<< " pick queued";
|
||||
return Continue{};
|
||||
},
|
||||
// FailPick
|
||||
[&](LoadBalancingPolicy::PickResult::Fail* fail_pick)
|
||||
-> LoopCtl<absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>> {
|
||||
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
||||
<< "client_channel: " << GetContext<Activity>()->DebugTag()
|
||||
<< " pick failed: " << fail_pick->status;
|
||||
// If wait_for_ready is false, then the error indicates the RPC
|
||||
// attempt's final status.
|
||||
if (!unstarted_handler.UnprocessedClientInitialMetadata()
|
||||
.GetOrCreatePointer(WaitForReady())
|
||||
->value) {
|
||||
return MaybeRewriteIllegalStatusCode(std::move(fail_pick->status),
|
||||
"LB pick");
|
||||
}
|
||||
// If wait_for_ready is true, then queue to retry when we get a new
|
||||
// picker.
|
||||
return Continue{};
|
||||
},
|
||||
// DropPick
|
||||
[&](LoadBalancingPolicy::PickResult::Drop* drop_pick)
|
||||
-> LoopCtl<absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>> {
|
||||
GRPC_TRACE_LOG(client_channel_lb_call, INFO)
|
||||
<< "client_channel: " << GetContext<Activity>()->DebugTag()
|
||||
<< " pick dropped: " << drop_pick->status;
|
||||
return grpc_error_set_int(MaybeRewriteIllegalStatusCode(
|
||||
std::move(drop_pick->status), "LB drop"),
|
||||
StatusIntProperty::kLbPolicyDrop, 1);
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
void LoadBalancedCallDestination::StartCall(
|
||||
UnstartedCallHandler unstarted_handler) {
|
||||
// If there is a call tracer, create a call attempt tracer.
|
||||
bool* is_transparent_retry_metadata =
|
||||
unstarted_handler.UnprocessedClientInitialMetadata().get_pointer(
|
||||
IsTransparentRetry());
|
||||
bool is_transparent_retry = is_transparent_retry_metadata != nullptr
|
||||
? *is_transparent_retry_metadata
|
||||
: false;
|
||||
MaybeCreateCallAttemptTracer(is_transparent_retry);
|
||||
// Spawn a promise to do the LB pick.
|
||||
// This will eventually start the call.
|
||||
unstarted_handler.SpawnGuardedUntilCallCompletes(
|
||||
"lb_pick", [unstarted_handler, picker = picker_]() mutable {
|
||||
return Map(
|
||||
// Wait for the LB picker.
|
||||
CheckDelayed(Loop(
|
||||
[last_picker =
|
||||
RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>(),
|
||||
unstarted_handler, picker]() mutable {
|
||||
return Map(
|
||||
picker.Next(last_picker),
|
||||
[unstarted_handler, &last_picker](
|
||||
RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>
|
||||
picker) mutable {
|
||||
CHECK_NE(picker.get(), nullptr);
|
||||
last_picker = std::move(picker);
|
||||
// Returns 3 possible things:
|
||||
// - Continue to queue the pick
|
||||
// - non-OK status to fail the pick
|
||||
// - a connected subchannel to complete the pick
|
||||
return PickSubchannel(*last_picker, unstarted_handler);
|
||||
});
|
||||
})),
|
||||
// Create call stack on the connected subchannel.
|
||||
[unstarted_handler](
|
||||
std::tuple<
|
||||
absl::StatusOr<RefCountedPtr<UnstartedCallDestination>>,
|
||||
bool>
|
||||
pick_result) {
|
||||
auto& call_destination = std::get<0>(pick_result);
|
||||
const bool was_queued = std::get<1>(pick_result);
|
||||
if (!call_destination.ok()) {
|
||||
return call_destination.status();
|
||||
}
|
||||
// LB pick is done, so indicate that we've committed.
|
||||
auto* on_commit = MaybeGetContext<LbOnCommit>();
|
||||
if (on_commit != nullptr && *on_commit != nullptr) {
|
||||
(*on_commit)();
|
||||
}
|
||||
// If it was queued, add a trace annotation.
|
||||
if (was_queued) {
|
||||
auto* tracer =
|
||||
MaybeGetContext<ClientCallTracer::CallAttemptTracer>();
|
||||
if (tracer != nullptr) {
|
||||
tracer->RecordAnnotation("Delayed LB pick complete.");
|
||||
}
|
||||
}
|
||||
// Delegate to connected subchannel.
|
||||
// TODO(ctiller): need to insert LbCallTracingFilter at the top of
|
||||
// the stack
|
||||
(*call_destination)->StartCall(unstarted_handler);
|
||||
return absl::OkStatus();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void RegisterLoadBalancedCallDestination(CoreConfiguration::Builder* builder) {
|
||||
class LoadBalancedCallDestinationFactory final
|
||||
: public ClientChannel::CallDestinationFactory {
|
||||
public:
|
||||
RefCountedPtr<UnstartedCallDestination> CreateCallDestination(
|
||||
ClientChannel::PickerObservable picker) override {
|
||||
return MakeRefCounted<LoadBalancedCallDestination>(std::move(picker));
|
||||
}
|
||||
};
|
||||
|
||||
builder->channel_args_preconditioning()->RegisterStage([](ChannelArgs args) {
|
||||
return args.SetObject(
|
||||
NoDestructSingleton<LoadBalancedCallDestinationFactory>::Get());
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace grpc_core
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
// 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_SRC_CORE_CLIENT_CHANNEL_LOAD_BALANCED_CALL_DESTINATION_H
|
||||
#define GRPC_SRC_CORE_CLIENT_CHANNEL_LOAD_BALANCED_CALL_DESTINATION_H
|
||||
|
||||
#include "absl/functional/any_invocable.h"
|
||||
|
||||
#include "src/core/client_channel/client_channel.h"
|
||||
#include "src/core/lib/promise/context.h"
|
||||
#include "src/core/lib/transport/call_destination.h"
|
||||
#include "src/core/load_balancing/lb_policy.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
// Context type for LB on_commit callback.
|
||||
// TODO(ctiller): make this a struct, so we don't accidentally alias context
|
||||
// types
|
||||
using LbOnCommit = absl::AnyInvocable<void()>;
|
||||
template <>
|
||||
struct ContextType<LbOnCommit> {};
|
||||
|
||||
class LoadBalancedCallDestination final : public UnstartedCallDestination {
|
||||
public:
|
||||
explicit LoadBalancedCallDestination(ClientChannel::PickerObservable picker)
|
||||
: picker_(std::move(picker)) {}
|
||||
|
||||
void Orphaned() override {}
|
||||
|
||||
void StartCall(UnstartedCallHandler unstarted_handler) override;
|
||||
|
||||
private:
|
||||
ClientChannel::PickerObservable picker_;
|
||||
};
|
||||
|
||||
} // namespace grpc_core
|
||||
|
||||
#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_LOAD_BALANCED_CALL_DESTINATION_H
|
||||
|
|
@ -89,8 +89,6 @@ using grpc_core::internal::RetryMethodConfig;
|
|||
using grpc_core::internal::RetryServiceConfigParser;
|
||||
using grpc_event_engine::experimental::EventEngine;
|
||||
|
||||
grpc_core::TraceFlag grpc_retry_trace(false, "retry");
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
//
|
||||
|
|
@ -130,11 +128,8 @@ RetryFilter::RetryFilter(const ChannelArgs& args, grpc_error_handle* error)
|
|||
server_name, config->max_milli_tokens(), config->milli_token_ratio());
|
||||
}
|
||||
|
||||
const RetryMethodConfig* RetryFilter::GetRetryPolicy(
|
||||
const grpc_call_context_element* context) {
|
||||
if (context == nullptr) return nullptr;
|
||||
auto* svc_cfg_call_data = static_cast<ServiceConfigCallData*>(
|
||||
context[GRPC_CONTEXT_SERVICE_CONFIG_CALL_DATA].value);
|
||||
const RetryMethodConfig* RetryFilter::GetRetryPolicy(Arena* arena) {
|
||||
auto* svc_cfg_call_data = arena->GetContext<ServiceConfigCallData>();
|
||||
if (svc_cfg_call_data == nullptr) return nullptr;
|
||||
return static_cast<const RetryMethodConfig*>(
|
||||
svc_cfg_call_data->GetMethodParsedConfig(service_config_parser_index_));
|
||||
|
|
@ -142,8 +137,6 @@ const RetryMethodConfig* RetryFilter::GetRetryPolicy(
|
|||
|
||||
const grpc_channel_filter RetryFilter::kVtable = {
|
||||
RetryFilter::LegacyCallData::StartTransportStreamOpBatch,
|
||||
nullptr,
|
||||
/* init_call: */ nullptr,
|
||||
RetryFilter::StartTransportOp,
|
||||
sizeof(RetryFilter::LegacyCallData),
|
||||
RetryFilter::LegacyCallData::Init,
|
||||
|
|
|
|||
|
|
@ -38,14 +38,10 @@
|
|||
#include "src/core/lib/channel/channel_args.h"
|
||||
#include "src/core/lib/channel/channel_fwd.h"
|
||||
#include "src/core/lib/channel/channel_stack.h"
|
||||
#include "src/core/lib/channel/context.h"
|
||||
#include "src/core/lib/debug/trace.h"
|
||||
#include "src/core/lib/gpr/useful.h"
|
||||
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
||||
#include "src/core/lib/iomgr/error.h"
|
||||
#include "src/core/lib/transport/transport.h"
|
||||
|
||||
extern grpc_core::TraceFlag grpc_retry_trace;
|
||||
#include "src/core/util/useful.h"
|
||||
|
||||
namespace grpc_core {
|
||||
|
||||
|
|
@ -66,8 +62,7 @@ class RetryFilter final {
|
|||
// any even moderately compelling reason to do so.
|
||||
static double BackoffJitter() { return 0.2; }
|
||||
|
||||
const internal::RetryMethodConfig* GetRetryPolicy(
|
||||
const grpc_call_context_element* context);
|
||||
const internal::RetryMethodConfig* GetRetryPolicy(Arena* arena);
|
||||
|
||||
RefCountedPtr<internal::ServerRetryThrottleData> retry_throttle_data() const {
|
||||
return retry_throttle_data_;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue