grpc 1.64.3 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +57 -58
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/impl/channel_arg_names.h +7 -3
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +3 -3
- data/src/core/channelz/channelz.h +7 -7
- data/src/core/channelz/channelz_registry.cc +4 -3
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +266 -709
- data/src/core/client_channel/client_channel_filter.h +11 -64
- data/src/core/client_channel/client_channel_internal.h +16 -5
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +3 -3
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/retry_filter.cc +2 -9
- data/src/core/client_channel/retry_filter.h +2 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +220 -112
- data/src/core/client_channel/subchannel.h +31 -18
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +36 -49
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.h +1 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
- data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
- data/src/core/handshaker/handshaker.cc +6 -14
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
- data/src/core/handshaker/security/secure_endpoint.cc +38 -32
- data/src/core/handshaker/security/secure_endpoint.h +0 -2
- data/src/core/handshaker/security/security_handshaker.cc +25 -37
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +27 -39
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
- data/src/core/lib/avl/avl.h +1 -1
- data/src/core/lib/channel/channel_args.cc +13 -17
- data/src/core/lib/channel/channel_args.h +19 -8
- data/src/core/lib/channel/channel_stack.cc +5 -63
- data/src/core/lib/channel/channel_stack.h +13 -37
- data/src/core/lib/channel/channel_stack_builder.h +0 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
- data/src/core/lib/channel/connected_channel.cc +37 -676
- data/src/core/lib/channel/promise_based_filter.cc +41 -47
- data/src/core/lib/channel/promise_based_filter.h +124 -477
- data/src/core/lib/channel/status_util.cc +1 -1
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/message_compress.cc +6 -6
- data/src/core/lib/config/config_vars.cc +3 -8
- data/src/core/lib/config/config_vars.h +1 -5
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/trace.cc +43 -59
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +5 -7
- data/src/core/lib/event_engine/ares_resolver.h +1 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
- data/src/core/lib/event_engine/event_engine.cc +29 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +4 -5
- data/src/core/lib/event_engine/forkable.h +0 -11
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
- data/src/core/lib/event_engine/shim.cc +1 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
- data/src/core/lib/event_engine/trace.h +6 -17
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
- data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
- data/src/core/lib/experiments/experiments.cc +35 -151
- data/src/core/lib/experiments/experiments.h +12 -45
- data/src/core/lib/gprpp/bitset.h +1 -1
- data/src/core/lib/gprpp/crash.cc +2 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/per_cpu.cc +1 -1
- data/src/core/lib/gprpp/posix/stat.cc +3 -4
- data/src/core/lib/gprpp/posix/thd.cc +8 -9
- data/src/core/lib/gprpp/ref_counted.h +30 -22
- data/src/core/lib/gprpp/single_set_ptr.h +5 -3
- data/src/core/lib/gprpp/status_helper.cc +11 -30
- data/src/core/lib/gprpp/status_helper.h +3 -31
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +3 -2
- data/src/core/lib/gprpp/unique_type_name.h +1 -1
- data/src/core/lib/gprpp/validation_errors.cc +10 -1
- data/src/core/lib/gprpp/validation_errors.h +11 -0
- data/src/core/lib/gprpp/windows/stat.cc +3 -4
- data/src/core/lib/gprpp/windows/thd.cc +3 -2
- data/src/core/lib/gprpp/work_serializer.cc +48 -57
- data/src/core/lib/iomgr/buffer_list.cc +4 -2
- data/src/core/lib/iomgr/call_combiner.cc +18 -27
- data/src/core/lib/iomgr/call_combiner.h +1 -3
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.h +2 -4
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/combiner.h +0 -2
- data/src/core/lib/iomgr/endpoint.cc +0 -6
- data/src/core/lib/iomgr/endpoint.h +0 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
- data/src/core/lib/iomgr/error.cc +13 -21
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
- data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
- data/src/core/lib/iomgr/ev_posix.cc +8 -9
- data/src/core/lib/iomgr/ev_posix.h +10 -7
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
- data/src/core/lib/iomgr/exec_ctx.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +6 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
- data/src/core/lib/iomgr/iocp_windows.cc +4 -3
- data/src/core/lib/iomgr/iomgr.cc +13 -17
- data/src/core/lib/iomgr/lockfree_event.cc +3 -5
- data/src/core/lib/iomgr/pollset.h +0 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
- data/src/core/lib/iomgr/socket_windows.cc +4 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
- data/src/core/lib/iomgr/tcp_posix.cc +57 -84
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
- data/src/core/lib/iomgr/tcp_windows.cc +25 -41
- data/src/core/lib/iomgr/timer_generic.cc +17 -20
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +17 -30
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/promise/activity.h +27 -4
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +11 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +354 -398
- data/src/core/lib/promise/detail/promise_like.h +6 -5
- data/src/core/lib/promise/detail/seq_state.h +1178 -1178
- data/src/core/lib/promise/for_each.h +6 -6
- data/src/core/lib/promise/interceptor_list.h +6 -7
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/map.h +17 -0
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +7 -8
- data/src/core/lib/promise/party.h +10 -8
- data/src/core/lib/promise/pipe.h +16 -35
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/status_flag.h +2 -0
- data/src/core/lib/resource_quota/arena.cc +56 -79
- data/src/core/lib/resource_quota/arena.h +118 -209
- data/src/core/lib/resource_quota/memory_quota.cc +12 -13
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/periodic_update.cc +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
- data/src/core/lib/security/authorization/matchers.cc +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
- data/src/core/lib/security/context/security_context.cc +12 -13
- data/src/core/lib/security/context/security_context.h +31 -8
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
- data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
- data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
- data/src/core/lib/security/security_connector/security_connector.cc +1 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
- data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice.h +1 -1
- data/src/core/lib/slice/slice_refcount.h +2 -4
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/surface/api_trace.h +1 -3
- data/src/core/lib/surface/call.cc +64 -3738
- data/src/core/lib/surface/call.h +41 -143
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +8 -3
- data/src/core/lib/surface/channel.h +10 -7
- data/src/core/lib/surface/channel_create.cc +14 -6
- data/src/core/lib/surface/channel_create.h +3 -2
- data/src/core/lib/surface/channel_init.cc +21 -77
- data/src/core/lib/surface/channel_init.h +19 -97
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +28 -33
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +7 -6
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +40 -27
- data/src/core/lib/surface/legacy_channel.h +9 -18
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +3 -5
- data/src/core/lib/transport/bdp_estimator.h +2 -4
- data/src/core/lib/transport/call_arena_allocator.h +9 -7
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +28 -10
- data/src/core/lib/transport/call_filters.h +128 -22
- data/src/core/lib/transport/call_spine.cc +5 -6
- data/src/core/lib/transport/call_spine.h +159 -334
- data/src/core/lib/transport/connectivity_state.cc +8 -10
- data/src/core/lib/transport/connectivity_state.h +0 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/metadata_batch.h +10 -1
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/transport.cc +3 -6
- data/src/core/lib/transport/transport.h +43 -40
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/endpoint_list.cc +5 -5
- data/src/core/load_balancing/endpoint_list.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
- data/src/core/load_balancing/health_check_client.cc +10 -13
- data/src/core/load_balancing/lb_policy.cc +5 -8
- data/src/core/load_balancing/lb_policy.h +19 -3
- data/src/core/load_balancing/lb_policy_factory.h +1 -1
- data/src/core/load_balancing/lb_policy_registry.cc +2 -3
- data/src/core/load_balancing/lb_policy_registry.h +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
- data/src/core/load_balancing/priority/priority.cc +26 -28
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +82 -82
- data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
- data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
- data/src/core/load_balancing/xds/cds.cc +14 -16
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
- data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
- data/src/core/resolver/binder/binder_resolver.cc +3 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
- data/src/core/resolver/endpoint_addresses.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/resolver/polling_resolver.cc +30 -35
- data/src/core/resolver/resolver.cc +2 -6
- data/src/core/resolver/resolver.h +0 -2
- data/src/core/resolver/resolver_registry.cc +6 -8
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
- data/src/core/resolver/xds/xds_resolver.cc +13 -15
- data/src/core/server/server.cc +269 -389
- data/src/core/server/server.h +37 -19
- data/src/core/server/server_call_tracer_filter.cc +7 -14
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/server_interface.h +2 -0
- data/src/core/server/xds_channel_stack_modifier.cc +1 -1
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +1 -4
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_call_data.h +13 -11
- data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
- data/src/core/service_config/service_config_impl.cc +5 -5
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/service_config/service_config_parser.cc +3 -6
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
- data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
- data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats.h +5 -5
- data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +14 -17
- data/src/core/tsi/local_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +76 -81
- data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
- data/src/core/tsi/ssl_transport_security_utils.h +11 -0
- data/src/core/tsi/transport_security.cc +0 -4
- data/src/core/tsi/transport_security.h +0 -2
- data/src/core/tsi/transport_security_interface.h +0 -4
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
- data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
- data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
- data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
- data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
- data/src/core/{lib/http → util/http_client}/parser.h +5 -6
- data/src/core/{lib → util}/json/json.h +5 -4
- data/src/core/{lib → util}/json/json_args.h +5 -5
- data/src/core/{lib → util}/json/json_channel_args.h +6 -6
- data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
- data/src/core/{lib → util}/json/json_object_loader.h +7 -7
- data/src/core/{lib → util}/json/json_reader.cc +3 -2
- data/src/core/{lib → util}/json/json_reader.h +6 -6
- data/src/core/{lib → util}/json/json_util.cc +4 -4
- data/src/core/{lib → util}/json/json_util.h +6 -6
- data/src/core/{lib → util}/json/json_writer.cc +3 -3
- data/src/core/{lib → util}/json/json_writer.h +6 -6
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +165 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
- data/src/core/xds/grpc/certificate_provider_store.h +4 -4
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
- data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
- data/src/core/xds/grpc/xds_client_grpc.h +2 -2
- data/src/core/xds/grpc/xds_cluster.cc +4 -5
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_endpoint.cc +4 -5
- data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
- data/src/core/xds/grpc/xds_http_filters.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_route_config.cc +7 -8
- data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
- data/src/core/xds/xds_client/xds_api.cc +5 -9
- data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +39 -45
- data/src/core/xds/xds_client/xds_client.h +0 -3
- data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
- data/src/core/xds/xds_client/xds_client_stats.h +2 -2
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server.c +39 -22
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
- metadata +103 -93
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/handshaker/security/tsi_error.cc +0 -31
- data/src/core/handshaker/security/tsi_error.h +0 -30
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -105
- data/src/core/lib/channel/metrics.cc +0 -334
- data/src/core/lib/channel/metrics.h +0 -365
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -172
- data/src/core/lib/transport/batch_builder.h +0 -474
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/time.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -1,474 +0,0 @@
|
|
1
|
-
// Copyright 2023 gRPC authors.
|
2
|
-
//
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
// you may not use this file except in compliance with the License.
|
5
|
-
// You may obtain a copy of the License at
|
6
|
-
//
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
//
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
// See the License for the specific language governing permissions and
|
13
|
-
// limitations under the License.
|
14
|
-
|
15
|
-
#ifndef GRPC_SRC_CORE_LIB_TRANSPORT_BATCH_BUILDER_H
|
16
|
-
#define GRPC_SRC_CORE_LIB_TRANSPORT_BATCH_BUILDER_H
|
17
|
-
|
18
|
-
#include <stdint.h>
|
19
|
-
|
20
|
-
#include <memory>
|
21
|
-
#include <string>
|
22
|
-
#include <utility>
|
23
|
-
|
24
|
-
#include "absl/status/status.h"
|
25
|
-
#include "absl/status/statusor.h"
|
26
|
-
#include "absl/strings/str_format.h"
|
27
|
-
#include "absl/strings/string_view.h"
|
28
|
-
#include "absl/types/optional.h"
|
29
|
-
|
30
|
-
#include <grpc/status.h>
|
31
|
-
#include <grpc/support/log.h>
|
32
|
-
#include <grpc/support/port_platform.h>
|
33
|
-
|
34
|
-
#include "src/core/lib/channel/channel_stack.h"
|
35
|
-
#include "src/core/lib/debug/trace.h"
|
36
|
-
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
37
|
-
#include "src/core/lib/gprpp/status_helper.h"
|
38
|
-
#include "src/core/lib/iomgr/closure.h"
|
39
|
-
#include "src/core/lib/iomgr/error.h"
|
40
|
-
#include "src/core/lib/promise/activity.h"
|
41
|
-
#include "src/core/lib/promise/context.h"
|
42
|
-
#include "src/core/lib/promise/latch.h"
|
43
|
-
#include "src/core/lib/promise/map.h"
|
44
|
-
#include "src/core/lib/promise/party.h"
|
45
|
-
#include "src/core/lib/resource_quota/arena.h"
|
46
|
-
#include "src/core/lib/slice/slice_buffer.h"
|
47
|
-
#include "src/core/lib/surface/call.h"
|
48
|
-
#include "src/core/lib/surface/call_trace.h"
|
49
|
-
#include "src/core/lib/transport/metadata_batch.h"
|
50
|
-
#include "src/core/lib/transport/transport.h"
|
51
|
-
|
52
|
-
namespace grpc_core {
|
53
|
-
|
54
|
-
// Build up a transport stream op batch for a stream for a promise based
|
55
|
-
// connected channel.
|
56
|
-
// Offered as a context from Call, so that it can collect ALL the updates during
|
57
|
-
// a single party round, and then push them down to the transport as a single
|
58
|
-
// transaction.
|
59
|
-
class BatchBuilder {
|
60
|
-
public:
|
61
|
-
explicit BatchBuilder(grpc_transport_stream_op_batch_payload* payload);
|
62
|
-
~BatchBuilder() {
|
63
|
-
if (batch_ != nullptr) FlushBatch();
|
64
|
-
}
|
65
|
-
|
66
|
-
struct Target {
|
67
|
-
Transport* transport;
|
68
|
-
grpc_stream* stream;
|
69
|
-
grpc_stream_refcount* stream_refcount;
|
70
|
-
};
|
71
|
-
|
72
|
-
BatchBuilder(const BatchBuilder&) = delete;
|
73
|
-
BatchBuilder& operator=(const BatchBuilder&) = delete;
|
74
|
-
|
75
|
-
// Returns a promise that will resolve to a Status when the send is completed.
|
76
|
-
auto SendMessage(Target target, MessageHandle message);
|
77
|
-
|
78
|
-
// Returns a promise that will resolve to a Status when the send is completed.
|
79
|
-
auto SendClientInitialMetadata(Target target, ClientMetadataHandle metadata);
|
80
|
-
|
81
|
-
// Returns a promise that will resolve to a Status when the send is completed.
|
82
|
-
auto SendClientTrailingMetadata(Target target);
|
83
|
-
|
84
|
-
// Returns a promise that will resolve to a Status when the send is completed.
|
85
|
-
auto SendServerInitialMetadata(Target target, ServerMetadataHandle metadata);
|
86
|
-
|
87
|
-
// Returns a promise that will resolve to a ServerMetadataHandle when the send
|
88
|
-
// is completed.
|
89
|
-
//
|
90
|
-
// If convert_to_cancellation is true, then the status will be converted to a
|
91
|
-
// cancellation batch instead of a trailing metadata op in a coalesced batch.
|
92
|
-
//
|
93
|
-
// This quirk exists as in the filter based stack upon which our transports
|
94
|
-
// were written if a trailing metadata op were sent it always needed to be
|
95
|
-
// paired with an initial op batch, and the transports would wait for the
|
96
|
-
// initial metadata batch to arrive (in case of reordering up the stack).
|
97
|
-
auto SendServerTrailingMetadata(Target target, ServerMetadataHandle metadata,
|
98
|
-
bool convert_to_cancellation);
|
99
|
-
|
100
|
-
// Returns a promise that will resolve to a StatusOr<optional<MessageHandle>>
|
101
|
-
// when a message is received.
|
102
|
-
// Error => non-ok status
|
103
|
-
// End of stream => Ok, nullopt (no message)
|
104
|
-
// Message => Ok, message
|
105
|
-
auto ReceiveMessage(Target target);
|
106
|
-
|
107
|
-
// Returns a promise that will resolve to a StatusOr<ClientMetadataHandle>
|
108
|
-
// when the receive is complete.
|
109
|
-
auto ReceiveClientInitialMetadata(Target target);
|
110
|
-
|
111
|
-
// Returns a promise that will resolve to a StatusOr<ClientMetadataHandle>
|
112
|
-
// when the receive is complete.
|
113
|
-
auto ReceiveClientTrailingMetadata(Target target);
|
114
|
-
|
115
|
-
// Returns a promise that will resolve to a StatusOr<ServerMetadataHandle>
|
116
|
-
// when the receive is complete.
|
117
|
-
auto ReceiveServerInitialMetadata(Target target);
|
118
|
-
|
119
|
-
// Returns a promise that will resolve to a StatusOr<ServerMetadataHandle>
|
120
|
-
// when the receive is complete.
|
121
|
-
auto ReceiveServerTrailingMetadata(Target target);
|
122
|
-
|
123
|
-
// Send a cancellation: does not occupy the same payload, nor does it
|
124
|
-
// coalesce with other ops.
|
125
|
-
void Cancel(Target target, absl::Status status);
|
126
|
-
|
127
|
-
private:
|
128
|
-
struct Batch;
|
129
|
-
|
130
|
-
// Base pending operation
|
131
|
-
struct PendingCompletion {
|
132
|
-
explicit PendingCompletion(RefCountedPtr<Batch> batch);
|
133
|
-
virtual absl::string_view name() const = 0;
|
134
|
-
static void CompletionCallback(void* self, grpc_error_handle error);
|
135
|
-
grpc_closure on_done_closure;
|
136
|
-
Latch<absl::Status> done_latch;
|
137
|
-
RefCountedPtr<Batch> batch;
|
138
|
-
|
139
|
-
protected:
|
140
|
-
~PendingCompletion() = default;
|
141
|
-
};
|
142
|
-
|
143
|
-
// A pending receive message.
|
144
|
-
struct PendingReceiveMessage final : public PendingCompletion {
|
145
|
-
using PendingCompletion::PendingCompletion;
|
146
|
-
|
147
|
-
absl::string_view name() const override { return "receive_message"; }
|
148
|
-
|
149
|
-
MessageHandle IntoMessageHandle() {
|
150
|
-
return Arena::MakePooled<Message>(std::move(*payload), flags);
|
151
|
-
}
|
152
|
-
|
153
|
-
absl::optional<SliceBuffer> payload;
|
154
|
-
uint32_t flags;
|
155
|
-
bool call_failed_before_recv_message = false;
|
156
|
-
};
|
157
|
-
|
158
|
-
// A pending receive metadata.
|
159
|
-
struct PendingReceiveMetadata : public PendingCompletion {
|
160
|
-
using PendingCompletion::PendingCompletion;
|
161
|
-
|
162
|
-
Arena::PoolPtr<grpc_metadata_batch> metadata =
|
163
|
-
Arena::MakePooled<grpc_metadata_batch>();
|
164
|
-
|
165
|
-
protected:
|
166
|
-
~PendingReceiveMetadata() = default;
|
167
|
-
};
|
168
|
-
|
169
|
-
struct PendingReceiveInitialMetadata final : public PendingReceiveMetadata {
|
170
|
-
using PendingReceiveMetadata::PendingReceiveMetadata;
|
171
|
-
absl::string_view name() const override {
|
172
|
-
return "receive_initial_metadata";
|
173
|
-
}
|
174
|
-
};
|
175
|
-
|
176
|
-
struct PendingReceiveTrailingMetadata final : public PendingReceiveMetadata {
|
177
|
-
using PendingReceiveMetadata::PendingReceiveMetadata;
|
178
|
-
absl::string_view name() const override {
|
179
|
-
return "receive_trailing_metadata";
|
180
|
-
}
|
181
|
-
};
|
182
|
-
|
183
|
-
// Pending sends in a batch
|
184
|
-
struct PendingSends final : public PendingCompletion {
|
185
|
-
using PendingCompletion::PendingCompletion;
|
186
|
-
|
187
|
-
absl::string_view name() const override { return "sends"; }
|
188
|
-
|
189
|
-
MessageHandle send_message;
|
190
|
-
Arena::PoolPtr<grpc_metadata_batch> send_initial_metadata;
|
191
|
-
Arena::PoolPtr<grpc_metadata_batch> send_trailing_metadata;
|
192
|
-
bool trailing_metadata_sent = false;
|
193
|
-
};
|
194
|
-
|
195
|
-
// One outstanding batch.
|
196
|
-
struct Batch final {
|
197
|
-
Batch(grpc_transport_stream_op_batch_payload* payload,
|
198
|
-
grpc_stream_refcount* stream_refcount);
|
199
|
-
~Batch();
|
200
|
-
Batch(const Batch&) = delete;
|
201
|
-
Batch& operator=(const Batch&) = delete;
|
202
|
-
std::string DebugPrefix(Activity* activity = GetContext<Activity>()) const {
|
203
|
-
return absl::StrFormat("%s[connected] [batch %p] ", activity->DebugTag(),
|
204
|
-
this);
|
205
|
-
}
|
206
|
-
|
207
|
-
void IncrementRefCount() { ++refs; }
|
208
|
-
void Unref() {
|
209
|
-
if (--refs == 0) delete this;
|
210
|
-
}
|
211
|
-
RefCountedPtr<Batch> Ref() {
|
212
|
-
IncrementRefCount();
|
213
|
-
return RefCountedPtr<Batch>(this);
|
214
|
-
}
|
215
|
-
// Get an initialized pending completion.
|
216
|
-
// There are four pending completions potentially contained within a batch.
|
217
|
-
// They can be rather large so we don't create all of them always. Instead,
|
218
|
-
// we dynamically create them on the arena as needed.
|
219
|
-
// This method either returns the existing completion in a batch if that
|
220
|
-
// completion has already been initialized, or it creates a new completion
|
221
|
-
// and returns that.
|
222
|
-
template <typename T>
|
223
|
-
T* GetInitializedCompletion(T*(Batch::*field)) {
|
224
|
-
if (this->*field != nullptr) return this->*field;
|
225
|
-
this->*field = new T(Ref());
|
226
|
-
if (grpc_call_trace.enabled()) {
|
227
|
-
gpr_log(GPR_DEBUG, "%sAdd batch closure for %s @ %s",
|
228
|
-
DebugPrefix().c_str(),
|
229
|
-
std::string((this->*field)->name()).c_str(),
|
230
|
-
(this->*field)->on_done_closure.DebugString().c_str());
|
231
|
-
}
|
232
|
-
return this->*field;
|
233
|
-
}
|
234
|
-
// grpc_transport_perform_stream_op on target.stream
|
235
|
-
void PerformWith(Target target);
|
236
|
-
// Take a promise, and return a promise that holds a ref on this batch until
|
237
|
-
// the promise completes or is cancelled.
|
238
|
-
template <typename P>
|
239
|
-
auto RefUntil(P promise) {
|
240
|
-
return [self = Ref(), promise = std::move(promise)]() mutable {
|
241
|
-
return promise();
|
242
|
-
};
|
243
|
-
}
|
244
|
-
|
245
|
-
grpc_transport_stream_op_batch batch;
|
246
|
-
PendingReceiveMessage* pending_receive_message = nullptr;
|
247
|
-
PendingReceiveInitialMetadata* pending_receive_initial_metadata = nullptr;
|
248
|
-
PendingReceiveTrailingMetadata* pending_receive_trailing_metadata = nullptr;
|
249
|
-
PendingSends* pending_sends = nullptr;
|
250
|
-
const RefCountedPtr<Party> party;
|
251
|
-
grpc_stream_refcount* const stream_refcount;
|
252
|
-
uint8_t refs = 0;
|
253
|
-
};
|
254
|
-
|
255
|
-
// Get a batch for the given target.
|
256
|
-
// Currently: if the current batch is for this target, return it - otherwise
|
257
|
-
// flush the batch and start a new one (and return that).
|
258
|
-
// This function may change in the future to allow multiple batches to be
|
259
|
-
// building at once (if that turns out to be useful for hedging).
|
260
|
-
Batch* GetBatch(Target target);
|
261
|
-
// Flush the current batch down to the transport.
|
262
|
-
void FlushBatch();
|
263
|
-
// Create a cancel batch with its own payload.
|
264
|
-
Batch* MakeCancel(grpc_stream_refcount* stream_refcount, absl::Status status);
|
265
|
-
|
266
|
-
// Note: we don't distinguish between client and server metadata here.
|
267
|
-
// At the time of writing they're both the same thing - and it's unclear
|
268
|
-
// whether we'll get to separate them prior to batches going away or not.
|
269
|
-
// So for now we claim YAGNI and just do the simplest possible implementation.
|
270
|
-
auto SendInitialMetadata(Target target,
|
271
|
-
Arena::PoolPtr<grpc_metadata_batch> md);
|
272
|
-
auto ReceiveInitialMetadata(Target target);
|
273
|
-
auto ReceiveTrailingMetadata(Target target);
|
274
|
-
|
275
|
-
// Combine send status and server metadata into a final status to report back
|
276
|
-
// to the containing call.
|
277
|
-
static ServerMetadataHandle CompleteSendServerTrailingMetadata(
|
278
|
-
Batch* batch, ServerMetadataHandle sent_metadata,
|
279
|
-
absl::Status send_result, bool actually_sent);
|
280
|
-
|
281
|
-
grpc_transport_stream_op_batch_payload* const payload_;
|
282
|
-
absl::optional<Target> target_;
|
283
|
-
Batch* batch_ = nullptr;
|
284
|
-
};
|
285
|
-
|
286
|
-
inline auto BatchBuilder::SendMessage(Target target, MessageHandle message) {
|
287
|
-
auto* batch = GetBatch(target);
|
288
|
-
if (grpc_call_trace.enabled()) {
|
289
|
-
gpr_log(GPR_DEBUG, "%sQueue send message: %s", batch->DebugPrefix().c_str(),
|
290
|
-
message->DebugString().c_str());
|
291
|
-
}
|
292
|
-
auto* pc = batch->GetInitializedCompletion(&Batch::pending_sends);
|
293
|
-
batch->batch.on_complete = &pc->on_done_closure;
|
294
|
-
batch->batch.send_message = true;
|
295
|
-
payload_->send_message.send_message = message->payload();
|
296
|
-
payload_->send_message.flags = message->flags();
|
297
|
-
pc->send_message = std::move(message);
|
298
|
-
return batch->RefUntil(pc->done_latch.WaitAndCopy());
|
299
|
-
}
|
300
|
-
|
301
|
-
inline auto BatchBuilder::SendInitialMetadata(
|
302
|
-
Target target, Arena::PoolPtr<grpc_metadata_batch> md) {
|
303
|
-
auto* batch = GetBatch(target);
|
304
|
-
if (grpc_call_trace.enabled()) {
|
305
|
-
gpr_log(GPR_DEBUG, "%sQueue send initial metadata: %s",
|
306
|
-
batch->DebugPrefix().c_str(), md->DebugString().c_str());
|
307
|
-
}
|
308
|
-
auto* pc = batch->GetInitializedCompletion(&Batch::pending_sends);
|
309
|
-
batch->batch.on_complete = &pc->on_done_closure;
|
310
|
-
batch->batch.send_initial_metadata = true;
|
311
|
-
payload_->send_initial_metadata.send_initial_metadata = md.get();
|
312
|
-
pc->send_initial_metadata = std::move(md);
|
313
|
-
return batch->RefUntil(pc->done_latch.WaitAndCopy());
|
314
|
-
}
|
315
|
-
|
316
|
-
inline auto BatchBuilder::SendClientInitialMetadata(
|
317
|
-
Target target, ClientMetadataHandle metadata) {
|
318
|
-
return SendInitialMetadata(target, std::move(metadata));
|
319
|
-
}
|
320
|
-
|
321
|
-
inline auto BatchBuilder::SendClientTrailingMetadata(Target target) {
|
322
|
-
auto* batch = GetBatch(target);
|
323
|
-
if (grpc_call_trace.enabled()) {
|
324
|
-
gpr_log(GPR_DEBUG, "%sQueue send trailing metadata",
|
325
|
-
batch->DebugPrefix().c_str());
|
326
|
-
}
|
327
|
-
auto* pc = batch->GetInitializedCompletion(&Batch::pending_sends);
|
328
|
-
batch->batch.on_complete = &pc->on_done_closure;
|
329
|
-
batch->batch.send_trailing_metadata = true;
|
330
|
-
auto metadata = Arena::MakePooled<grpc_metadata_batch>();
|
331
|
-
payload_->send_trailing_metadata.send_trailing_metadata = metadata.get();
|
332
|
-
payload_->send_trailing_metadata.sent = nullptr;
|
333
|
-
pc->send_trailing_metadata = std::move(metadata);
|
334
|
-
return batch->RefUntil(pc->done_latch.WaitAndCopy());
|
335
|
-
}
|
336
|
-
|
337
|
-
inline auto BatchBuilder::SendServerInitialMetadata(
|
338
|
-
Target target, ServerMetadataHandle metadata) {
|
339
|
-
return SendInitialMetadata(target, std::move(metadata));
|
340
|
-
}
|
341
|
-
|
342
|
-
inline auto BatchBuilder::SendServerTrailingMetadata(
|
343
|
-
Target target, ServerMetadataHandle metadata,
|
344
|
-
bool convert_to_cancellation) {
|
345
|
-
Batch* batch;
|
346
|
-
PendingSends* pc;
|
347
|
-
if (convert_to_cancellation) {
|
348
|
-
const auto status_code =
|
349
|
-
metadata->get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN);
|
350
|
-
auto status = grpc_error_set_int(
|
351
|
-
absl::Status(static_cast<absl::StatusCode>(status_code),
|
352
|
-
metadata->GetOrCreatePointer(GrpcMessageMetadata())
|
353
|
-
->as_string_view()),
|
354
|
-
StatusIntProperty::kRpcStatus, status_code);
|
355
|
-
batch = MakeCancel(target.stream_refcount, std::move(status));
|
356
|
-
pc = batch->GetInitializedCompletion(&Batch::pending_sends);
|
357
|
-
} else {
|
358
|
-
batch = GetBatch(target);
|
359
|
-
pc = batch->GetInitializedCompletion(&Batch::pending_sends);
|
360
|
-
batch->batch.send_trailing_metadata = true;
|
361
|
-
payload_->send_trailing_metadata.send_trailing_metadata = metadata.get();
|
362
|
-
payload_->send_trailing_metadata.sent = &pc->trailing_metadata_sent;
|
363
|
-
}
|
364
|
-
if (grpc_call_trace.enabled()) {
|
365
|
-
gpr_log(GPR_DEBUG, "%s%s: %s", batch->DebugPrefix().c_str(),
|
366
|
-
convert_to_cancellation ? "Send trailing metadata as cancellation"
|
367
|
-
: "Queue send trailing metadata",
|
368
|
-
metadata->DebugString().c_str());
|
369
|
-
}
|
370
|
-
batch->batch.on_complete = &pc->on_done_closure;
|
371
|
-
pc->send_trailing_metadata = std::move(metadata);
|
372
|
-
auto promise = Map(pc->done_latch.WaitAndCopy(),
|
373
|
-
[pc, batch = batch->Ref()](absl::Status status) {
|
374
|
-
return CompleteSendServerTrailingMetadata(
|
375
|
-
batch.get(), std::move(pc->send_trailing_metadata),
|
376
|
-
std::move(status), pc->trailing_metadata_sent);
|
377
|
-
});
|
378
|
-
if (convert_to_cancellation) {
|
379
|
-
batch->PerformWith(target);
|
380
|
-
}
|
381
|
-
return promise;
|
382
|
-
}
|
383
|
-
|
384
|
-
inline auto BatchBuilder::ReceiveMessage(Target target) {
|
385
|
-
auto* batch = GetBatch(target);
|
386
|
-
if (grpc_call_trace.enabled()) {
|
387
|
-
gpr_log(GPR_DEBUG, "%sQueue receive message", batch->DebugPrefix().c_str());
|
388
|
-
}
|
389
|
-
auto* pc = batch->GetInitializedCompletion(&Batch::pending_receive_message);
|
390
|
-
batch->batch.recv_message = true;
|
391
|
-
payload_->recv_message.recv_message_ready = &pc->on_done_closure;
|
392
|
-
payload_->recv_message.recv_message = &pc->payload;
|
393
|
-
payload_->recv_message.flags = &pc->flags;
|
394
|
-
payload_->recv_message.call_failed_before_recv_message =
|
395
|
-
&pc->call_failed_before_recv_message;
|
396
|
-
return batch->RefUntil(
|
397
|
-
Map(pc->done_latch.Wait(),
|
398
|
-
[pc](absl::Status status)
|
399
|
-
-> absl::StatusOr<absl::optional<MessageHandle>> {
|
400
|
-
if (!status.ok()) return status;
|
401
|
-
if (!pc->payload.has_value()) {
|
402
|
-
if (pc->call_failed_before_recv_message) {
|
403
|
-
return absl::CancelledError();
|
404
|
-
}
|
405
|
-
return absl::nullopt;
|
406
|
-
}
|
407
|
-
return pc->IntoMessageHandle();
|
408
|
-
}));
|
409
|
-
}
|
410
|
-
|
411
|
-
inline auto BatchBuilder::ReceiveInitialMetadata(Target target) {
|
412
|
-
auto* batch = GetBatch(target);
|
413
|
-
if (grpc_call_trace.enabled()) {
|
414
|
-
gpr_log(GPR_DEBUG, "%sQueue receive initial metadata",
|
415
|
-
batch->DebugPrefix().c_str());
|
416
|
-
}
|
417
|
-
auto* pc =
|
418
|
-
batch->GetInitializedCompletion(&Batch::pending_receive_initial_metadata);
|
419
|
-
batch->batch.recv_initial_metadata = true;
|
420
|
-
payload_->recv_initial_metadata.recv_initial_metadata_ready =
|
421
|
-
&pc->on_done_closure;
|
422
|
-
payload_->recv_initial_metadata.recv_initial_metadata = pc->metadata.get();
|
423
|
-
return batch->RefUntil(
|
424
|
-
Map(pc->done_latch.Wait(),
|
425
|
-
[pc](absl::Status status) -> absl::StatusOr<ClientMetadataHandle> {
|
426
|
-
if (!status.ok()) return status;
|
427
|
-
return std::move(pc->metadata);
|
428
|
-
}));
|
429
|
-
}
|
430
|
-
|
431
|
-
inline auto BatchBuilder::ReceiveClientInitialMetadata(Target target) {
|
432
|
-
return ReceiveInitialMetadata(target);
|
433
|
-
}
|
434
|
-
|
435
|
-
inline auto BatchBuilder::ReceiveServerInitialMetadata(Target target) {
|
436
|
-
return ReceiveInitialMetadata(target);
|
437
|
-
}
|
438
|
-
|
439
|
-
inline auto BatchBuilder::ReceiveTrailingMetadata(Target target) {
|
440
|
-
auto* batch = GetBatch(target);
|
441
|
-
if (grpc_call_trace.enabled()) {
|
442
|
-
gpr_log(GPR_DEBUG, "%sQueue receive trailing metadata",
|
443
|
-
batch->DebugPrefix().c_str());
|
444
|
-
}
|
445
|
-
auto* pc = batch->GetInitializedCompletion(
|
446
|
-
&Batch::pending_receive_trailing_metadata);
|
447
|
-
batch->batch.recv_trailing_metadata = true;
|
448
|
-
payload_->recv_trailing_metadata.recv_trailing_metadata_ready =
|
449
|
-
&pc->on_done_closure;
|
450
|
-
payload_->recv_trailing_metadata.recv_trailing_metadata = pc->metadata.get();
|
451
|
-
payload_->recv_trailing_metadata.collect_stats =
|
452
|
-
&GetContext<CallContext>()->call_stats()->transport_stream_stats;
|
453
|
-
return batch->RefUntil(
|
454
|
-
Map(pc->done_latch.Wait(),
|
455
|
-
[pc](absl::Status status) -> absl::StatusOr<ServerMetadataHandle> {
|
456
|
-
if (!status.ok()) return status;
|
457
|
-
return std::move(pc->metadata);
|
458
|
-
}));
|
459
|
-
}
|
460
|
-
|
461
|
-
inline auto BatchBuilder::ReceiveClientTrailingMetadata(Target target) {
|
462
|
-
return ReceiveTrailingMetadata(target);
|
463
|
-
}
|
464
|
-
|
465
|
-
inline auto BatchBuilder::ReceiveServerTrailingMetadata(Target target) {
|
466
|
-
return ReceiveTrailingMetadata(target);
|
467
|
-
}
|
468
|
-
|
469
|
-
template <>
|
470
|
-
struct ContextType<BatchBuilder> {};
|
471
|
-
|
472
|
-
} // namespace grpc_core
|
473
|
-
|
474
|
-
#endif // GRPC_SRC_CORE_LIB_TRANSPORT_BATCH_BUILDER_H
|
@@ -1,25 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// Copyright 2019 gRPC authors.
|
3
|
-
//
|
4
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
// you may not use this file except in compliance with the License.
|
6
|
-
// You may obtain a copy of the License at
|
7
|
-
//
|
8
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
//
|
10
|
-
// Unless required by applicable law or agreed to in writing, software
|
11
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
// See the License for the specific language governing permissions and
|
14
|
-
// limitations under the License.
|
15
|
-
//
|
16
|
-
|
17
|
-
#include "src/core/resolver/xds/xds_resolver_trace.h"
|
18
|
-
|
19
|
-
#include <grpc/support/port_platform.h>
|
20
|
-
|
21
|
-
namespace grpc_core {
|
22
|
-
|
23
|
-
TraceFlag grpc_xds_resolver_trace(false, "xds_resolver");
|
24
|
-
|
25
|
-
} // namespace grpc_core
|
@@ -1,30 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// Copyright 2019 gRPC authors.
|
3
|
-
//
|
4
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
// you may not use this file except in compliance with the License.
|
6
|
-
// You may obtain a copy of the License at
|
7
|
-
//
|
8
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
//
|
10
|
-
// Unless required by applicable law or agreed to in writing, software
|
11
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
// See the License for the specific language governing permissions and
|
14
|
-
// limitations under the License.
|
15
|
-
//
|
16
|
-
|
17
|
-
#ifndef GRPC_SRC_CORE_RESOLVER_XDS_XDS_RESOLVER_TRACE_H
|
18
|
-
#define GRPC_SRC_CORE_RESOLVER_XDS_XDS_RESOLVER_TRACE_H
|
19
|
-
|
20
|
-
#include <grpc/support/port_platform.h>
|
21
|
-
|
22
|
-
#include "src/core/lib/debug/trace.h"
|
23
|
-
|
24
|
-
namespace grpc_core {
|
25
|
-
|
26
|
-
extern TraceFlag grpc_xds_resolver_trace;
|
27
|
-
|
28
|
-
} // namespace grpc_core
|
29
|
-
|
30
|
-
#endif // GRPC_SRC_CORE_RESOLVER_XDS_XDS_RESOLVER_TRACE_H
|
@@ -1,122 +0,0 @@
|
|
1
|
-
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
2
|
-
* All rights reserved.
|
3
|
-
*
|
4
|
-
* This package is an SSL implementation written
|
5
|
-
* by Eric Young (eay@cryptsoft.com).
|
6
|
-
* The implementation was written so as to conform with Netscapes SSL.
|
7
|
-
*
|
8
|
-
* This library is free for commercial and non-commercial use as long as
|
9
|
-
* the following conditions are aheared to. The following conditions
|
10
|
-
* apply to all code found in this distribution, be it the RC4, RSA,
|
11
|
-
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
12
|
-
* included with this distribution is covered by the same copyright terms
|
13
|
-
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
14
|
-
*
|
15
|
-
* Copyright remains Eric Young's, and as such any Copyright notices in
|
16
|
-
* the code are not to be removed.
|
17
|
-
* If this package is used in a product, Eric Young should be given attribution
|
18
|
-
* as the author of the parts of the library used.
|
19
|
-
* This can be in the form of a textual message at program startup or
|
20
|
-
* in documentation (online or textual) provided with the package.
|
21
|
-
*
|
22
|
-
* Redistribution and use in source and binary forms, with or without
|
23
|
-
* modification, are permitted provided that the following conditions
|
24
|
-
* are met:
|
25
|
-
* 1. Redistributions of source code must retain the copyright
|
26
|
-
* notice, this list of conditions and the following disclaimer.
|
27
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
28
|
-
* notice, this list of conditions and the following disclaimer in the
|
29
|
-
* documentation and/or other materials provided with the distribution.
|
30
|
-
* 3. All advertising materials mentioning features or use of this software
|
31
|
-
* must display the following acknowledgement:
|
32
|
-
* "This product includes cryptographic software written by
|
33
|
-
* Eric Young (eay@cryptsoft.com)"
|
34
|
-
* The word 'cryptographic' can be left out if the rouines from the library
|
35
|
-
* being used are not cryptographic related :-).
|
36
|
-
* 4. If you include any Windows specific code (or a derivative thereof) from
|
37
|
-
* the apps directory (application code) you must include an acknowledgement:
|
38
|
-
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
39
|
-
*
|
40
|
-
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
41
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
42
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
43
|
-
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
44
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
45
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
46
|
-
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
47
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
48
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
49
|
-
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
50
|
-
* SUCH DAMAGE.
|
51
|
-
*
|
52
|
-
* The licence and distribution terms for any publically available version or
|
53
|
-
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
54
|
-
* copied and put under another distribution licence
|
55
|
-
* [including the GNU Public Licence.]
|
56
|
-
*/
|
57
|
-
|
58
|
-
// This file was historically generated by keysets.pl in OpenSSL.
|
59
|
-
//
|
60
|
-
// TODO(davidben): Replace it with something more readable.
|
61
|
-
|
62
|
-
#define CONF_NUMBER 1
|
63
|
-
#define CONF_UPPER 2
|
64
|
-
#define CONF_LOWER 4
|
65
|
-
#define CONF_UNDER 256
|
66
|
-
#define CONF_PUNCTUATION 512
|
67
|
-
#define CONF_WS 16
|
68
|
-
#define CONF_ESC 32
|
69
|
-
#define CONF_QUOTE 64
|
70
|
-
#define CONF_COMMENT 128
|
71
|
-
#define CONF_EOF 8
|
72
|
-
#define CONF_HIGHBIT 4096
|
73
|
-
#define CONF_ALPHA (CONF_UPPER|CONF_LOWER)
|
74
|
-
#define CONF_ALPHA_NUMERIC (CONF_ALPHA|CONF_NUMBER|CONF_UNDER)
|
75
|
-
#define CONF_ALPHA_NUMERIC_PUNCT (CONF_ALPHA|CONF_NUMBER|CONF_UNDER| \
|
76
|
-
CONF_PUNCTUATION)
|
77
|
-
|
78
|
-
#define KEYTYPES(c) CONF_type_default
|
79
|
-
#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_COMMENT)
|
80
|
-
#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_EOF)
|
81
|
-
#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ESC)
|
82
|
-
#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_NUMBER)
|
83
|
-
#define IS_WS(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_WS)
|
84
|
-
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC)
|
85
|
-
#define IS_ALPHA_NUMERIC_PUNCT(c,a) \
|
86
|
-
(KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC_PUNCT)
|
87
|
-
#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_QUOTE)
|
88
|
-
|
89
|
-
static const unsigned short CONF_type_default[256]={
|
90
|
-
0x0008,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
91
|
-
0x0000,0x0010,0x0010,0x0000,0x0000,0x0010,0x0000,0x0000,
|
92
|
-
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
93
|
-
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
94
|
-
0x0010,0x0200,0x0040,0x0080,0x0000,0x0200,0x0200,0x0040,
|
95
|
-
0x0000,0x0000,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,
|
96
|
-
0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
|
97
|
-
0x0001,0x0001,0x0000,0x0200,0x0000,0x0000,0x0000,0x0200,
|
98
|
-
0x0200,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
|
99
|
-
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
|
100
|
-
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
|
101
|
-
0x0002,0x0002,0x0002,0x0000,0x0020,0x0000,0x0200,0x0100,
|
102
|
-
0x0040,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
|
103
|
-
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
|
104
|
-
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
|
105
|
-
0x0004,0x0004,0x0004,0x0000,0x0200,0x0000,0x0200,0x0000,
|
106
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
107
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
108
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
109
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
110
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
111
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
112
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
113
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
114
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
115
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
116
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
117
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
118
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
119
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
120
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
121
|
-
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
|
122
|
-
};
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|