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
@@ -21,18 +21,17 @@
|
|
21
21
|
#include <inttypes.h>
|
22
22
|
|
23
23
|
#include "absl/log/check.h"
|
24
|
+
#include "absl/log/log.h"
|
24
25
|
|
25
26
|
#include <grpc/support/log.h>
|
26
27
|
#include <grpc/support/port_platform.h>
|
27
28
|
|
28
|
-
#include "src/core/lib/debug/stats.h"
|
29
|
-
#include "src/core/lib/debug/stats_data.h"
|
30
29
|
#include "src/core/lib/gprpp/crash.h"
|
30
|
+
#include "src/core/telemetry/stats.h"
|
31
|
+
#include "src/core/telemetry/stats_data.h"
|
31
32
|
|
32
33
|
namespace grpc_core {
|
33
34
|
|
34
|
-
DebugOnlyTraceFlag grpc_call_combiner_trace(false, "call_combiner");
|
35
|
-
|
36
35
|
namespace {
|
37
36
|
|
38
37
|
// grpc_error LSB can be used
|
@@ -115,7 +114,7 @@ void CallCombiner::ScheduleClosure(grpc_closure* closure,
|
|
115
114
|
|
116
115
|
void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
|
117
116
|
DEBUG_ARGS const char* reason) {
|
118
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
117
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
119
118
|
gpr_log(GPR_INFO,
|
120
119
|
"==> CallCombiner::Start() [%p] closure=%s [" DEBUG_FMT_STR
|
121
120
|
"%s] error=%s",
|
@@ -124,20 +123,16 @@ void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
|
|
124
123
|
}
|
125
124
|
size_t prev_size =
|
126
125
|
static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)1));
|
127
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
126
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
128
127
|
gpr_log(GPR_INFO, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
|
129
128
|
prev_size + 1);
|
130
129
|
}
|
131
130
|
if (prev_size == 0) {
|
132
|
-
|
133
|
-
gpr_log(GPR_INFO, " EXECUTING IMMEDIATELY");
|
134
|
-
}
|
131
|
+
GRPC_TRACE_LOG(call_combiner, INFO) << " EXECUTING IMMEDIATELY";
|
135
132
|
// Queue was empty, so execute this closure immediately.
|
136
133
|
ScheduleClosure(closure, error);
|
137
134
|
} else {
|
138
|
-
|
139
|
-
gpr_log(GPR_INFO, " QUEUING");
|
140
|
-
}
|
135
|
+
GRPC_TRACE_LOG(call_combiner, INFO) << " QUEUING";
|
141
136
|
// Queue was not empty, so add closure to queue.
|
142
137
|
closure->error_data.error = internal::StatusAllocHeapPtr(error);
|
143
138
|
queue_.Push(
|
@@ -146,45 +141,41 @@ void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
|
|
146
141
|
}
|
147
142
|
|
148
143
|
void CallCombiner::Stop(DEBUG_ARGS const char* reason) {
|
149
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
144
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
150
145
|
gpr_log(GPR_INFO, "==> CallCombiner::Stop() [%p] [" DEBUG_FMT_STR "%s]",
|
151
146
|
this DEBUG_FMT_ARGS, reason);
|
152
147
|
}
|
153
148
|
size_t prev_size =
|
154
149
|
static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)-1));
|
155
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
150
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
156
151
|
gpr_log(GPR_INFO, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
|
157
152
|
prev_size - 1);
|
158
153
|
}
|
159
154
|
CHECK_GE(prev_size, 1u);
|
160
155
|
if (prev_size > 1) {
|
161
156
|
while (true) {
|
162
|
-
|
163
|
-
gpr_log(GPR_INFO, " checking queue");
|
164
|
-
}
|
157
|
+
GRPC_TRACE_LOG(call_combiner, INFO) << " checking queue";
|
165
158
|
bool empty;
|
166
159
|
grpc_closure* closure =
|
167
160
|
reinterpret_cast<grpc_closure*>(queue_.PopAndCheckEnd(&empty));
|
168
161
|
if (closure == nullptr) {
|
169
162
|
// This can happen either due to a race condition within the mpscq
|
170
163
|
// code or because of a race with Start().
|
171
|
-
|
172
|
-
|
173
|
-
}
|
164
|
+
GRPC_TRACE_LOG(call_combiner, INFO)
|
165
|
+
<< " queue returned no result; checking again";
|
174
166
|
continue;
|
175
167
|
}
|
176
168
|
grpc_error_handle error =
|
177
169
|
internal::StatusMoveFromHeapPtr(closure->error_data.error);
|
178
170
|
closure->error_data.error = 0;
|
179
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
171
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
180
172
|
gpr_log(GPR_INFO, " EXECUTING FROM QUEUE: closure=%s error=%s",
|
181
173
|
closure->DebugString().c_str(), StatusToString(error).c_str());
|
182
174
|
}
|
183
175
|
ScheduleClosure(closure, error);
|
184
176
|
break;
|
185
177
|
}
|
186
|
-
|
187
|
-
gpr_log(GPR_INFO, " queue empty");
|
178
|
+
GRPC_TRACE_LOG(call_combiner, INFO) << " queue empty";
|
188
179
|
}
|
189
180
|
}
|
190
181
|
|
@@ -196,7 +187,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
|
|
196
187
|
// If error is set, invoke the cancellation closure immediately.
|
197
188
|
// Otherwise, store the new closure.
|
198
189
|
if (!original_error.ok()) {
|
199
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
190
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
200
191
|
gpr_log(GPR_INFO,
|
201
192
|
"call_combiner=%p: scheduling notify_on_cancel callback=%p "
|
202
193
|
"for pre-existing cancellation",
|
@@ -207,7 +198,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
|
|
207
198
|
} else {
|
208
199
|
if (gpr_atm_full_cas(&cancel_state_, original_state,
|
209
200
|
reinterpret_cast<gpr_atm>(closure))) {
|
210
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
201
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
211
202
|
gpr_log(GPR_INFO, "call_combiner=%p: setting notify_on_cancel=%p",
|
212
203
|
this, closure);
|
213
204
|
}
|
@@ -216,7 +207,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
|
|
216
207
|
// up any resources they may be holding for the callback.
|
217
208
|
if (original_state != 0) {
|
218
209
|
closure = reinterpret_cast<grpc_closure*>(original_state);
|
219
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
210
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
220
211
|
gpr_log(GPR_INFO,
|
221
212
|
"call_combiner=%p: scheduling old cancel callback=%p", this,
|
222
213
|
closure);
|
@@ -244,7 +235,7 @@ void CallCombiner::Cancel(grpc_error_handle error) {
|
|
244
235
|
if (original_state != 0) {
|
245
236
|
grpc_closure* notify_on_cancel =
|
246
237
|
reinterpret_cast<grpc_closure*>(original_state);
|
247
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
238
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
248
239
|
gpr_log(GPR_INFO,
|
249
240
|
"call_combiner=%p: scheduling notify_on_cancel callback=%p",
|
250
241
|
this, notify_on_cancel);
|
@@ -44,8 +44,6 @@
|
|
44
44
|
|
45
45
|
namespace grpc_core {
|
46
46
|
|
47
|
-
extern DebugOnlyTraceFlag grpc_call_combiner_trace;
|
48
|
-
|
49
47
|
class CallCombiner {
|
50
48
|
public:
|
51
49
|
CallCombiner();
|
@@ -167,7 +165,7 @@ class CallCombinerClosureList {
|
|
167
165
|
GRPC_CALL_COMBINER_START(call_combiner, closure.closure, closure.error,
|
168
166
|
closure.reason);
|
169
167
|
}
|
170
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
168
|
+
if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
|
171
169
|
gpr_log(GPR_INFO,
|
172
170
|
"CallCombinerClosureList executing closure while already "
|
173
171
|
"holding call_combiner %p: closure=%s error=%s reason=%s",
|
@@ -35,8 +35,6 @@
|
|
35
35
|
#include "src/core/lib/iomgr/ev_apple.h"
|
36
36
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
37
37
|
|
38
|
-
extern grpc_core::TraceFlag grpc_tcp_trace;
|
39
|
-
|
40
38
|
GrpcLibraryInitHolder::GrpcLibraryInitHolder() { grpc_init(); }
|
41
39
|
|
42
40
|
GrpcLibraryInitHolder::~GrpcLibraryInitHolder() { grpc_shutdown(); }
|
@@ -65,7 +63,7 @@ void CFStreamHandle::ReadCallback(CFReadStreamRef stream,
|
|
65
63
|
grpc_error_handle error;
|
66
64
|
CFErrorRef stream_error;
|
67
65
|
CFStreamHandle* handle = static_cast<CFStreamHandle*>(client_callback_info);
|
68
|
-
if (
|
66
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
69
67
|
gpr_log(GPR_DEBUG, "CFStream ReadCallback (%p, %p, %lu, %p)", handle,
|
70
68
|
stream, type, client_callback_info);
|
71
69
|
}
|
@@ -99,7 +97,7 @@ void CFStreamHandle::WriteCallback(CFWriteStreamRef stream,
|
|
99
97
|
grpc_error_handle error;
|
100
98
|
CFErrorRef stream_error;
|
101
99
|
CFStreamHandle* handle = static_cast<CFStreamHandle*>(clientCallBackInfo);
|
102
|
-
if (
|
100
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
103
101
|
gpr_log(GPR_DEBUG, "CFStream WriteCallback (%p, %p, %lu, %p)", handle,
|
104
102
|
stream, type, clientCallBackInfo);
|
105
103
|
}
|
@@ -176,7 +174,7 @@ void CFStreamHandle::Shutdown(grpc_error_handle error) {
|
|
176
174
|
}
|
177
175
|
|
178
176
|
void CFStreamHandle::Ref(const char* file, int line, const char* reason) {
|
179
|
-
if (
|
177
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
180
178
|
gpr_atm val = gpr_atm_no_barrier_load(&refcount_.count);
|
181
179
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
182
180
|
"CFStream Handle ref %p : %s %" PRIdPTR " -> %" PRIdPTR, this,
|
@@ -186,7 +184,7 @@ void CFStreamHandle::Ref(const char* file, int line, const char* reason) {
|
|
186
184
|
}
|
187
185
|
|
188
186
|
void CFStreamHandle::Unref(const char* file, int line, const char* reason) {
|
189
|
-
if (
|
187
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
190
188
|
gpr_atm val = gpr_atm_no_barrier_load(&refcount_.count);
|
191
189
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
192
190
|
"CFStream Handle unref %p : %s %" PRIdPTR " -> %" PRIdPTR, this,
|
@@ -37,8 +37,6 @@
|
|
37
37
|
struct grpc_closure;
|
38
38
|
typedef struct grpc_closure grpc_closure;
|
39
39
|
|
40
|
-
extern grpc_core::DebugOnlyTraceFlag grpc_trace_closure;
|
41
|
-
|
42
40
|
typedef struct grpc_closure_list {
|
43
41
|
grpc_closure* head;
|
44
42
|
grpc_closure* tail;
|
@@ -294,7 +292,7 @@ class Closure {
|
|
294
292
|
return;
|
295
293
|
}
|
296
294
|
#ifndef NDEBUG
|
297
|
-
if (
|
295
|
+
if (GRPC_TRACE_FLAG_ENABLED(closure)) {
|
298
296
|
gpr_log(GPR_DEBUG, "running closure %p: created [%s:%d]: run [%s:%d]",
|
299
297
|
closure, closure->file_created, closure->line_created,
|
300
298
|
location.file(), location.line());
|
@@ -303,7 +301,7 @@ class Closure {
|
|
303
301
|
#endif
|
304
302
|
closure->cb(closure->cb_arg, error);
|
305
303
|
#ifndef NDEBUG
|
306
|
-
if (
|
304
|
+
if (GRPC_TRACE_FLAG_ENABLED(closure)) {
|
307
305
|
gpr_log(GPR_DEBUG, "closure %p finished", closure);
|
308
306
|
}
|
309
307
|
#endif
|
@@ -34,13 +34,11 @@
|
|
34
34
|
#include "src/core/lib/iomgr/executor.h"
|
35
35
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
fn; \
|
43
|
-
} \
|
37
|
+
#define GRPC_COMBINER_TRACE(fn) \
|
38
|
+
do { \
|
39
|
+
if (GRPC_TRACE_FLAG_ENABLED(combiner)) { \
|
40
|
+
fn; \
|
41
|
+
} \
|
44
42
|
} while (0)
|
45
43
|
|
46
44
|
#define STATE_UNORPHANED 1
|
@@ -81,7 +79,7 @@ static void start_destroy(grpc_core::Combiner* lock) {
|
|
81
79
|
|
82
80
|
#ifndef NDEBUG
|
83
81
|
#define GRPC_COMBINER_DEBUG_SPAM(op, delta) \
|
84
|
-
if (
|
82
|
+
if (GRPC_TRACE_FLAG_ENABLED(combiner)) { \
|
85
83
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG, \
|
86
84
|
"C:%p %s %" PRIdPTR " --> %" PRIdPTR " %s", lock, (op), \
|
87
85
|
gpr_atm_no_barrier_load(&lock->refs.count), \
|
@@ -20,8 +20,6 @@
|
|
20
20
|
|
21
21
|
#include <grpc/support/port_platform.h>
|
22
22
|
|
23
|
-
grpc_core::TraceFlag grpc_tcp_trace(false, "tcp");
|
24
|
-
|
25
23
|
void grpc_endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
26
24
|
grpc_closure* cb, bool urgent, int min_progress_size) {
|
27
25
|
ep->vtable->read(ep, slices, cb, urgent, min_progress_size);
|
@@ -46,10 +44,6 @@ void grpc_endpoint_delete_from_pollset_set(grpc_endpoint* ep,
|
|
46
44
|
ep->vtable->delete_from_pollset_set(ep, pollset_set);
|
47
45
|
}
|
48
46
|
|
49
|
-
void grpc_endpoint_shutdown(grpc_endpoint* ep, grpc_error_handle why) {
|
50
|
-
ep->vtable->shutdown(ep, why);
|
51
|
-
}
|
52
|
-
|
53
47
|
void grpc_endpoint_destroy(grpc_endpoint* ep) { ep->vtable->destroy(ep); }
|
54
48
|
|
55
49
|
absl::string_view grpc_endpoint_get_peer(grpc_endpoint* ep) {
|
@@ -43,7 +43,6 @@ struct grpc_endpoint_vtable {
|
|
43
43
|
void (*add_to_pollset)(grpc_endpoint* ep, grpc_pollset* pollset);
|
44
44
|
void (*add_to_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
|
45
45
|
void (*delete_from_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
|
46
|
-
void (*shutdown)(grpc_endpoint* ep, grpc_error_handle why);
|
47
46
|
void (*destroy)(grpc_endpoint* ep);
|
48
47
|
absl::string_view (*get_peer)(grpc_endpoint* ep);
|
49
48
|
absl::string_view (*get_local_address)(grpc_endpoint* ep);
|
@@ -86,7 +85,6 @@ void grpc_endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
86
85
|
|
87
86
|
// Causes any pending and future read/write callbacks to run immediately with
|
88
87
|
// success==0
|
89
|
-
void grpc_endpoint_shutdown(grpc_endpoint* ep, grpc_error_handle why);
|
90
88
|
void grpc_endpoint_destroy(grpc_endpoint* ep);
|
91
89
|
|
92
90
|
// Add an endpoint to a pollset or pollset_set, so that when the pollset is
|
@@ -31,7 +31,6 @@
|
|
31
31
|
#include <grpc/support/string_util.h>
|
32
32
|
|
33
33
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
34
|
-
#include "src/core/lib/gpr/string.h"
|
35
34
|
#include "src/core/lib/iomgr/cfstream_handle.h"
|
36
35
|
#include "src/core/lib/iomgr/closure.h"
|
37
36
|
#include "src/core/lib/iomgr/endpoint.h"
|
@@ -41,8 +40,7 @@
|
|
41
40
|
#include "src/core/lib/slice/slice.h"
|
42
41
|
#include "src/core/lib/slice/slice_internal.h"
|
43
42
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
44
|
-
|
45
|
-
extern grpc_core::TraceFlag grpc_tcp_trace;
|
43
|
+
#include "src/core/util/string.h"
|
46
44
|
|
47
45
|
struct CFStreamEndpoint {
|
48
46
|
grpc_endpoint base;
|
@@ -75,7 +73,7 @@ static void CFStreamFree(CFStreamEndpoint* ep) {
|
|
75
73
|
#define EP_UNREF(ep, reason) CFStreamUnref((ep), (reason), __FILE__, __LINE__)
|
76
74
|
static void CFStreamUnref(CFStreamEndpoint* ep, const char* reason,
|
77
75
|
const char* file, int line) {
|
78
|
-
if (
|
76
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
79
77
|
gpr_atm val = gpr_atm_no_barrier_load(&ep->refcount.count);
|
80
78
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
81
79
|
"CFStream endpoint unref %p : %s %" PRIdPTR " -> %" PRIdPTR, ep,
|
@@ -87,7 +85,7 @@ static void CFStreamUnref(CFStreamEndpoint* ep, const char* reason,
|
|
87
85
|
}
|
88
86
|
static void CFStreamRef(CFStreamEndpoint* ep, const char* reason,
|
89
87
|
const char* file, int line) {
|
90
|
-
if (
|
88
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
91
89
|
gpr_atm val = gpr_atm_no_barrier_load(&ep->refcount.count);
|
92
90
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
93
91
|
"CFStream endpoint ref %p : %s %" PRIdPTR " -> %" PRIdPTR, ep,
|
@@ -106,17 +104,13 @@ static void CFStreamUnref(CFStreamEndpoint* ep) {
|
|
106
104
|
static void CFStreamRef(CFStreamEndpoint* ep) { gpr_ref(&ep->refcount); }
|
107
105
|
#endif
|
108
106
|
|
109
|
-
static grpc_error_handle CFStreamAnnotateError(grpc_error_handle src_error
|
110
|
-
|
111
|
-
|
112
|
-
grpc_error_set_int(src_error, grpc_core::StatusIntProperty::kRpcStatus,
|
113
|
-
GRPC_STATUS_UNAVAILABLE),
|
114
|
-
grpc_core::StatusStrProperty::kTargetAddress, ep->peer_string);
|
107
|
+
static grpc_error_handle CFStreamAnnotateError(grpc_error_handle src_error) {
|
108
|
+
return grpc_error_set_int(src_error, grpc_core::StatusIntProperty::kRpcStatus,
|
109
|
+
GRPC_STATUS_UNAVAILABLE);
|
115
110
|
}
|
116
111
|
|
117
112
|
static void CallReadCb(CFStreamEndpoint* ep, grpc_error_handle error) {
|
118
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
119
|
-
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
|
113
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp) && ABSL_VLOG_IS_ON(2)) {
|
120
114
|
gpr_log(GPR_DEBUG, "CFStream endpoint:%p call_read_cb %p %p:%p", ep,
|
121
115
|
ep->read_cb, ep->read_cb->cb, ep->read_cb->cb_arg);
|
122
116
|
size_t i;
|
@@ -138,7 +132,7 @@ static void CallReadCb(CFStreamEndpoint* ep, grpc_error_handle error) {
|
|
138
132
|
}
|
139
133
|
|
140
134
|
static void CallWriteCb(CFStreamEndpoint* ep, grpc_error_handle error) {
|
141
|
-
if (
|
135
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
142
136
|
gpr_log(GPR_DEBUG, "CFStream endpoint:%p call_write_cb %p %p:%p", ep,
|
143
137
|
ep->write_cb, ep->write_cb->cb, ep->write_cb->cb_arg);
|
144
138
|
gpr_log(GPR_DEBUG, "write: error=%s",
|
@@ -170,7 +164,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
|
|
170
164
|
CFErrorRef stream_error = CFReadStreamCopyError(ep->read_stream);
|
171
165
|
if (stream_error != nullptr) {
|
172
166
|
error = CFStreamAnnotateError(
|
173
|
-
GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error")
|
167
|
+
GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error"));
|
174
168
|
CFRelease(stream_error);
|
175
169
|
} else {
|
176
170
|
error = GRPC_ERROR_CREATE("Read error");
|
@@ -179,8 +173,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
|
|
179
173
|
EP_UNREF(ep, "read");
|
180
174
|
} else if (read_size == 0) {
|
181
175
|
grpc_slice_buffer_reset_and_unref(ep->read_slices);
|
182
|
-
CallReadCb(ep,
|
183
|
-
CFStreamAnnotateError(GRPC_ERROR_CREATE("Socket closed"), ep));
|
176
|
+
CallReadCb(ep, CFStreamAnnotateError(GRPC_ERROR_CREATE("Socket closed")));
|
184
177
|
EP_UNREF(ep, "read");
|
185
178
|
} else {
|
186
179
|
if (read_size < static_cast<CFIndex>(len)) {
|
@@ -209,7 +202,7 @@ static void WriteAction(void* arg, grpc_error_handle error) {
|
|
209
202
|
CFErrorRef stream_error = CFWriteStreamCopyError(ep->write_stream);
|
210
203
|
if (stream_error != nullptr) {
|
211
204
|
error = CFStreamAnnotateError(
|
212
|
-
GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "
|
205
|
+
GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Write failed"));
|
213
206
|
CFRelease(stream_error);
|
214
207
|
} else {
|
215
208
|
error = GRPC_ERROR_CREATE("write failed.");
|
@@ -228,8 +221,7 @@ static void WriteAction(void* arg, grpc_error_handle error) {
|
|
228
221
|
EP_UNREF(ep, "write");
|
229
222
|
}
|
230
223
|
|
231
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
232
|
-
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
|
224
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp) && ABSL_VLOG_IS_ON(2)) {
|
233
225
|
grpc_slice trace_slice = grpc_slice_sub(slice, 0, write_size);
|
234
226
|
char* dump = grpc_dump_slice(trace_slice, GPR_DUMP_HEX | GPR_DUMP_ASCII);
|
235
227
|
gpr_log(GPR_DEBUG, "WRITE %p (peer=%s): %s", ep, ep->peer_string.c_str(),
|
@@ -245,7 +237,7 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
245
237
|
grpc_closure* cb, bool /*urgent*/,
|
246
238
|
int /*min_progress_size*/) {
|
247
239
|
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
248
|
-
if (
|
240
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
249
241
|
gpr_log(GPR_DEBUG, "CFStream endpoint:%p read (%p, %p) length:%zu", ep_impl,
|
250
242
|
slices, cb, slices->length);
|
251
243
|
}
|
@@ -263,7 +255,7 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
263
255
|
grpc_closure* cb, void* /*arg*/,
|
264
256
|
int /*max_frame_size*/) {
|
265
257
|
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
266
|
-
if (
|
258
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
267
259
|
gpr_log(GPR_DEBUG, "CFStream endpoint:%p write (%p, %p) length:%zu",
|
268
260
|
ep_impl, slices, cb, slices->length);
|
269
261
|
}
|
@@ -274,26 +266,13 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
274
266
|
ep_impl->stream_sync->NotifyOnWrite(&ep_impl->write_action);
|
275
267
|
}
|
276
268
|
|
277
|
-
void
|
269
|
+
void CFStreamDestroy(grpc_endpoint* ep) {
|
278
270
|
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
279
|
-
|
280
|
-
gpr_log(GPR_DEBUG, "CFStream endpoint:%p shutdown (%s)", ep_impl,
|
281
|
-
grpc_core::StatusToString(why).c_str());
|
282
|
-
}
|
271
|
+
GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " destroy";
|
283
272
|
CFReadStreamClose(ep_impl->read_stream);
|
284
273
|
CFWriteStreamClose(ep_impl->write_stream);
|
285
|
-
ep_impl->stream_sync->Shutdown(
|
286
|
-
|
287
|
-
gpr_log(GPR_DEBUG, "CFStream endpoint:%p shutdown DONE (%s)", ep_impl,
|
288
|
-
grpc_core::StatusToString(why).c_str());
|
289
|
-
}
|
290
|
-
}
|
291
|
-
|
292
|
-
void CFStreamDestroy(grpc_endpoint* ep) {
|
293
|
-
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
294
|
-
if (grpc_tcp_trace.enabled()) {
|
295
|
-
gpr_log(GPR_DEBUG, "CFStream endpoint:%p destroy", ep_impl);
|
296
|
-
}
|
274
|
+
ep_impl->stream_sync->Shutdown(absl::UnavailableError("endpoint shutdown"));
|
275
|
+
GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " destroy DONE";
|
297
276
|
EP_UNREF(ep_impl, "destroy");
|
298
277
|
}
|
299
278
|
|
@@ -322,7 +301,6 @@ static const grpc_endpoint_vtable vtable = {CFStreamRead,
|
|
322
301
|
CFStreamAddToPollset,
|
323
302
|
CFStreamAddToPollsetSet,
|
324
303
|
CFStreamDeleteFromPollsetSet,
|
325
|
-
CFStreamShutdown,
|
326
304
|
CFStreamDestroy,
|
327
305
|
CFStreamGetPeer,
|
328
306
|
CFStreamGetLocalAddress,
|
@@ -334,7 +312,7 @@ grpc_endpoint* grpc_cfstream_endpoint_create(CFReadStreamRef read_stream,
|
|
334
312
|
const char* peer_string,
|
335
313
|
CFStreamHandle* stream_sync) {
|
336
314
|
CFStreamEndpoint* ep_impl = new CFStreamEndpoint;
|
337
|
-
if (
|
315
|
+
if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
|
338
316
|
gpr_log(GPR_DEBUG,
|
339
317
|
"CFStream endpoint:%p create readStream:%p writeStream: %p",
|
340
318
|
ep_impl, read_stream, write_stream);
|
@@ -37,13 +37,13 @@
|
|
37
37
|
#include <grpc/support/log.h>
|
38
38
|
|
39
39
|
#include "src/core/lib/event_engine/channel_args_endpoint_config.h"
|
40
|
-
#include "src/core/lib/gpr/string.h"
|
41
40
|
#include "src/core/lib/gprpp/crash.h"
|
42
41
|
#include "src/core/lib/iomgr/endpoint_pair.h"
|
43
42
|
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
44
43
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
45
44
|
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
46
45
|
#include "src/core/lib/resource_quota/api.h"
|
46
|
+
#include "src/core/util/string.h"
|
47
47
|
|
48
48
|
static void create_sockets(int sv[2]) {
|
49
49
|
int flags;
|
@@ -26,8 +26,7 @@
|
|
26
26
|
#include <string.h>
|
27
27
|
|
28
28
|
#include "absl/log/check.h"
|
29
|
-
|
30
|
-
#include <grpc/support/log.h>
|
29
|
+
#include "absl/log/log.h"
|
31
30
|
|
32
31
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
33
32
|
#include "src/core/lib/gprpp/crash.h"
|
@@ -67,13 +66,13 @@ static void create_sockets(SOCKET sv[2]) {
|
|
67
66
|
closesocket(lst_sock);
|
68
67
|
grpc_error_handle error = grpc_tcp_prepare_socket(cli_sock);
|
69
68
|
if (!error.ok()) {
|
70
|
-
|
71
|
-
|
69
|
+
LOG(INFO) << "Prepare cli_sock failed with error: "
|
70
|
+
<< grpc_core::StatusToString(error);
|
72
71
|
}
|
73
72
|
error = grpc_tcp_prepare_socket(svr_sock);
|
74
73
|
if (!error.ok()) {
|
75
|
-
|
76
|
-
|
74
|
+
LOG(INFO) << "Prepare svr_sock failed with error: "
|
75
|
+
<< grpc_core::StatusToString(error);
|
77
76
|
}
|
78
77
|
|
79
78
|
sv[1] = cli_sock;
|
data/src/core/lib/iomgr/error.cc
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
#include <string.h>
|
22
22
|
|
23
23
|
#include "absl/log/check.h"
|
24
|
+
#include "absl/strings/str_cat.h"
|
24
25
|
#include "absl/strings/str_format.h"
|
25
26
|
|
26
27
|
#include <grpc/status.h>
|
@@ -36,13 +37,9 @@
|
|
36
37
|
#endif
|
37
38
|
|
38
39
|
#include "src/core/lib/debug/trace.h"
|
39
|
-
#include "src/core/lib/gpr/useful.h"
|
40
40
|
#include "src/core/lib/gprpp/strerror.h"
|
41
41
|
#include "src/core/lib/slice/slice_internal.h"
|
42
|
-
|
43
|
-
grpc_core::DebugOnlyTraceFlag grpc_trace_error_refcount(false,
|
44
|
-
"error_refcount");
|
45
|
-
grpc_core::DebugOnlyTraceFlag grpc_trace_closure(false, "closure");
|
42
|
+
#include "src/core/util/useful.h"
|
46
43
|
|
47
44
|
absl::Status grpc_status_create(absl::StatusCode code, absl::string_view msg,
|
48
45
|
const grpc_core::DebugLocation& location,
|
@@ -58,15 +55,10 @@ absl::Status grpc_status_create(absl::StatusCode code, absl::string_view msg,
|
|
58
55
|
|
59
56
|
absl::Status grpc_os_error(const grpc_core::DebugLocation& location, int err,
|
60
57
|
const char* call_name) {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
grpc_core::StatusSetStr(&s, grpc_core::StatusStrProperty::kOsError,
|
66
|
-
err_string);
|
67
|
-
grpc_core::StatusSetStr(&s, grpc_core::StatusStrProperty::kSyscall,
|
68
|
-
call_name);
|
69
|
-
return s;
|
58
|
+
return StatusCreate(
|
59
|
+
absl::StatusCode::kUnknown,
|
60
|
+
absl::StrCat(call_name, ": ", grpc_core::StrError(err), " (", err, ")"),
|
61
|
+
location, {});
|
70
62
|
}
|
71
63
|
|
72
64
|
#ifdef GPR_WINDOWS
|
@@ -104,15 +96,15 @@ std::string WSAErrorToShortDescription(int err) {
|
|
104
96
|
absl::Status grpc_wsa_error(const grpc_core::DebugLocation& location, int err,
|
105
97
|
absl::string_view call_name) {
|
106
98
|
char* utf8_message = gpr_format_message(err);
|
107
|
-
absl::Status
|
108
|
-
|
109
|
-
|
110
|
-
|
99
|
+
absl::Status status = StatusCreate(
|
100
|
+
absl::StatusCode::kUnavailable,
|
101
|
+
absl::StrCat(call_name, ": ", WSAErrorToShortDescription(err), " (",
|
102
|
+
utf8_message, " -- ", err, ")"),
|
103
|
+
location, {});
|
104
|
+
StatusSetInt(&status, grpc_core::StatusIntProperty::kRpcStatus,
|
111
105
|
GRPC_STATUS_UNAVAILABLE);
|
112
|
-
StatusSetStr(&s, grpc_core::StatusStrProperty::kOsError, utf8_message);
|
113
|
-
StatusSetStr(&s, grpc_core::StatusStrProperty::kSyscall, call_name);
|
114
106
|
gpr_free(utf8_message);
|
115
|
-
return
|
107
|
+
return status;
|
116
108
|
}
|
117
109
|
#endif
|
118
110
|
|
data/src/core/lib/iomgr/error.h
CHANGED
@@ -32,10 +32,10 @@
|
|
32
32
|
#include <grpc/support/time.h>
|
33
33
|
|
34
34
|
#include "src/core/lib/debug/trace.h"
|
35
|
-
#include "src/core/lib/gpr/spinlock.h"
|
36
35
|
#include "src/core/lib/gprpp/crash.h"
|
37
36
|
#include "src/core/lib/gprpp/status_helper.h"
|
38
37
|
#include "src/core/lib/slice/slice_internal.h"
|
38
|
+
#include "src/core/util/spinlock.h"
|
39
39
|
|
40
40
|
/// Opaque representation of an error.
|
41
41
|
|
@@ -39,12 +39,10 @@
|
|
39
39
|
#include "src/core/lib/gprpp/time_util.h"
|
40
40
|
#include "src/core/lib/iomgr/ev_apple.h"
|
41
41
|
|
42
|
-
grpc_core::DebugOnlyTraceFlag grpc_apple_polling_trace(false, "apple_polling");
|
43
|
-
|
44
42
|
#ifndef NDEBUG
|
45
|
-
#define GRPC_POLLING_TRACE(format, ...)
|
46
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
47
|
-
gpr_log(GPR_DEBUG, "(polling) " format, __VA_ARGS__);
|
43
|
+
#define GRPC_POLLING_TRACE(format, ...) \
|
44
|
+
if (GRPC_TRACE_FLAG_ENABLED(apple_polling)) { \
|
45
|
+
gpr_log(GPR_DEBUG, "(polling) " format, __VA_ARGS__); \
|
48
46
|
}
|
49
47
|
#else
|
50
48
|
#define GRPC_POLLING_TRACE(...)
|