grpc 1.37.1 → 1.39.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +96 -59
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/endpoint_config.h +48 -0
- data/include/grpc/event_engine/event_engine.h +334 -0
- data/include/grpc/event_engine/port.h +41 -0
- data/include/grpc/event_engine/slice_allocator.h +91 -0
- data/include/grpc/grpc.h +11 -4
- data/include/grpc/grpc_security.h +32 -0
- data/include/grpc/grpc_security_constants.h +15 -0
- data/include/grpc/impl/codegen/grpc_types.h +28 -13
- data/include/grpc/impl/codegen/port_platform.h +22 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +630 -3103
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +28 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +30 -29
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/http_proxy.cc +16 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +755 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +46 -54
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +146 -155
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +24 -18
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +18 -12
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +20 -13
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +60 -32
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2449 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +306 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +96 -0
- data/src/core/ext/filters/client_channel/server_address.cc +1 -1
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +17 -16
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +25 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +3 -2
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +5 -4
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -120
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +32 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +65 -58
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +72 -60
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +348 -199
- data/src/core/ext/xds/xds_api.h +21 -12
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +16 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +16 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +21 -13
- data/src/core/lib/channel/channelz.h +3 -0
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- data/src/core/lib/event_engine/endpoint_config.cc +46 -0
- data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
- data/src/core/lib/event_engine/event_engine.cc +50 -0
- data/src/core/lib/event_engine/slice_allocator.cc +89 -0
- data/src/core/lib/event_engine/sockaddr.cc +40 -0
- data/src/core/lib/event_engine/sockaddr.h +44 -0
- data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
- data/src/core/lib/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +183 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +4 -5
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +33 -0
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +168 -61
- data/src/core/lib/iomgr/error.h +217 -106
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/event_engine/closure.cc +54 -0
- data/src/core/lib/iomgr/event_engine/closure.h +33 -0
- data/src/core/lib/iomgr/event_engine/endpoint.cc +194 -0
- data/src/core/lib/iomgr/event_engine/endpoint.h +53 -0
- data/src/core/lib/iomgr/event_engine/iomgr.cc +105 -0
- data/src/core/lib/iomgr/event_engine/iomgr.h +24 -0
- data/src/core/lib/iomgr/event_engine/pollset.cc +87 -0
- data/src/core/lib/iomgr/event_engine/pollset.h +25 -0
- data/src/core/lib/iomgr/event_engine/promise.h +51 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
- data/src/core/lib/iomgr/event_engine/resolver.cc +110 -0
- data/src/core/lib/iomgr/event_engine/tcp.cc +243 -0
- data/src/core/lib/iomgr/event_engine/timer.cc +57 -0
- data/src/core/lib/iomgr/exec_ctx.cc +12 -4
- data/src/core/lib/iomgr/exec_ctx.h +4 -5
- data/src/core/lib/iomgr/executor/threadpool.cc +2 -3
- data/src/core/lib/iomgr/executor/threadpool.h +2 -2
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +2 -2
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +3 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +42 -12
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +7 -7
- data/src/core/lib/iomgr/pollset_custom.h +3 -1
- data/src/core/lib/iomgr/pollset_uv.cc +3 -1
- data/src/core/lib/iomgr/pollset_uv.h +5 -1
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +7 -5
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +8 -4
- data/src/core/lib/iomgr/resolve_address.h +12 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +11 -10
- data/src/core/lib/iomgr/sockaddr.h +1 -0
- data/src/core/lib/iomgr/socket_mutator.cc +15 -2
- data/src/core/lib/iomgr/socket_mutator.h +26 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +24 -22
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +22 -19
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +78 -73
- data/src/core/lib/iomgr/tcp_posix.h +8 -0
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +26 -25
- data/src/core/lib/iomgr/tcp_server_posix.cc +28 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +21 -18
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +25 -23
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer.h +6 -1
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +6 -6
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- data/src/core/lib/security/authorization/authorization_engine.h +44 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +32 -0
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +209 -0
- data/src/core/lib/security/authorization/evaluate_args.h +91 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +12 -10
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/tls/tls_utils.cc +32 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +13 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +22 -9
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +27 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/surface/call.cc +67 -46
- data/src/core/lib/surface/call.h +13 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +68 -69
- data/src/core/lib/surface/completion_queue.h +3 -2
- data/src/core/lib/surface/completion_queue_factory.cc +1 -2
- data/src/core/lib/surface/init.cc +1 -3
- data/src/core/lib/surface/init.h +10 -1
- data/src/core/lib/surface/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +21 -10
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +6 -4
- data/src/core/lib/transport/transport_op_string.cc +6 -6
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
- data/src/core/tsi/alts/crypt/gsec.h +6 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +11 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +483 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +9 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -160
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +52 -65
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +52 -66
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +26 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +61 -75
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +80 -103
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +40 -49
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +367 -315
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +120 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +42 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +14 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +53 -73
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +31 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +66 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +47 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +33 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +20 -49
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +325 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +25 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +99 -63
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +283 -85
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +13 -19
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +445 -152
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +451 -435
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +7 -2
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1133 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +298 -22
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +66 -30
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +189 -86
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +154 -24
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +414 -135
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +9 -3
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +51 -60
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +8 -31
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +4 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +7 -3
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +664 -702
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +65 -7
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +98 -39
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +141 -94
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +213 -118
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +94 -46
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -246
- data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
@@ -67,10 +67,10 @@ class ServiceConfig : public RefCounted<ServiceConfig> {
|
|
67
67
|
/// Returns null on parse error.
|
68
68
|
static RefCountedPtr<ServiceConfig> Create(const grpc_channel_args* args,
|
69
69
|
absl::string_view json_string,
|
70
|
-
|
70
|
+
grpc_error_handle* error);
|
71
71
|
|
72
72
|
ServiceConfig(const grpc_channel_args* args, std::string json_string,
|
73
|
-
Json json,
|
73
|
+
Json json, grpc_error_handle* error);
|
74
74
|
~ServiceConfig() override;
|
75
75
|
|
76
76
|
const std::string& json_string() const { return json_string_; }
|
@@ -91,13 +91,14 @@ class ServiceConfig : public RefCounted<ServiceConfig> {
|
|
91
91
|
|
92
92
|
private:
|
93
93
|
// Helper functions for parsing the method configs.
|
94
|
-
|
95
|
-
|
96
|
-
|
94
|
+
grpc_error_handle ParsePerMethodParams(const grpc_channel_args* args);
|
95
|
+
grpc_error_handle ParseJsonMethodConfig(const grpc_channel_args* args,
|
96
|
+
const Json& json);
|
97
97
|
|
98
98
|
// Returns a path string for the JSON name object specified by json.
|
99
99
|
// Sets *error on error.
|
100
|
-
static std::string ParseJsonMethodName(const Json& json,
|
100
|
+
static std::string ParseJsonMethodName(const Json& json,
|
101
|
+
grpc_error_handle* error);
|
101
102
|
|
102
103
|
std::string json_string_;
|
103
104
|
Json json_;
|
@@ -36,13 +36,14 @@ class ServiceConfigChannelArgChannelData {
|
|
36
36
|
const char* service_config_str = grpc_channel_args_find_string(
|
37
37
|
args->channel_args, GRPC_ARG_SERVICE_CONFIG);
|
38
38
|
if (service_config_str != nullptr) {
|
39
|
-
|
39
|
+
grpc_error_handle service_config_error = GRPC_ERROR_NONE;
|
40
40
|
auto service_config = ServiceConfig::Create(
|
41
41
|
args->channel_args, service_config_str, &service_config_error);
|
42
42
|
if (service_config_error == GRPC_ERROR_NONE) {
|
43
43
|
service_config_ = std::move(service_config);
|
44
44
|
} else {
|
45
|
-
gpr_log(GPR_ERROR, "%s",
|
45
|
+
gpr_log(GPR_ERROR, "%s",
|
46
|
+
grpc_error_std_string(service_config_error).c_str());
|
46
47
|
}
|
47
48
|
GRPC_ERROR_UNREF(service_config_error);
|
48
49
|
}
|
@@ -73,7 +74,7 @@ class ServiceConfigChannelArgCallData {
|
|
73
74
|
}
|
74
75
|
};
|
75
76
|
|
76
|
-
|
77
|
+
grpc_error_handle ServiceConfigChannelArgInitCallElem(
|
77
78
|
grpc_call_element* elem, const grpc_call_element_args* args) {
|
78
79
|
ServiceConfigChannelArgCallData* calld =
|
79
80
|
static_cast<ServiceConfigChannelArgCallData*>(elem->call_data);
|
@@ -89,7 +90,7 @@ void ServiceConfigChannelArgDestroyCallElem(
|
|
89
90
|
calld->~ServiceConfigChannelArgCallData();
|
90
91
|
}
|
91
92
|
|
92
|
-
|
93
|
+
grpc_error_handle ServiceConfigChannelArgInitChannelElem(
|
93
94
|
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
94
95
|
ServiceConfigChannelArgChannelData* chand =
|
95
96
|
static_cast<ServiceConfigChannelArgChannelData*>(elem->channel_data);
|
@@ -47,11 +47,11 @@ size_t ServiceConfigParser::RegisterParser(std::unique_ptr<Parser> parser) {
|
|
47
47
|
ServiceConfigParser::ParsedConfigVector
|
48
48
|
ServiceConfigParser::ParseGlobalParameters(const grpc_channel_args* args,
|
49
49
|
const Json& json,
|
50
|
-
|
50
|
+
grpc_error_handle* error) {
|
51
51
|
ParsedConfigVector parsed_global_configs;
|
52
|
-
std::vector<
|
52
|
+
std::vector<grpc_error_handle> error_list;
|
53
53
|
for (size_t i = 0; i < g_registered_parsers->size(); i++) {
|
54
|
-
|
54
|
+
grpc_error_handle parser_error = GRPC_ERROR_NONE;
|
55
55
|
auto parsed_config = (*g_registered_parsers)[i]->ParseGlobalParams(
|
56
56
|
args, json, &parser_error);
|
57
57
|
if (parser_error != GRPC_ERROR_NONE) {
|
@@ -68,11 +68,11 @@ ServiceConfigParser::ParseGlobalParameters(const grpc_channel_args* args,
|
|
68
68
|
ServiceConfigParser::ParsedConfigVector
|
69
69
|
ServiceConfigParser::ParsePerMethodParameters(const grpc_channel_args* args,
|
70
70
|
const Json& json,
|
71
|
-
|
71
|
+
grpc_error_handle* error) {
|
72
72
|
ParsedConfigVector parsed_method_configs;
|
73
|
-
std::vector<
|
73
|
+
std::vector<grpc_error_handle> error_list;
|
74
74
|
for (size_t i = 0; i < g_registered_parsers->size(); i++) {
|
75
|
-
|
75
|
+
grpc_error_handle parser_error = GRPC_ERROR_NONE;
|
76
76
|
auto parsed_config = (*g_registered_parsers)[i]->ParsePerMethodParams(
|
77
77
|
args, json, &parser_error);
|
78
78
|
if (parser_error != GRPC_ERROR_NONE) {
|
@@ -47,7 +47,8 @@ class ServiceConfigParser {
|
|
47
47
|
virtual ~Parser() = default;
|
48
48
|
|
49
49
|
virtual std::unique_ptr<ParsedConfig> ParseGlobalParams(
|
50
|
-
const grpc_channel_args*, const Json& /* json */,
|
50
|
+
const grpc_channel_args*, const Json& /* json */,
|
51
|
+
grpc_error_handle* error) {
|
51
52
|
// Avoid unused parameter warning on debug-only parameter
|
52
53
|
(void)error;
|
53
54
|
GPR_DEBUG_ASSERT(error != nullptr);
|
@@ -55,7 +56,8 @@ class ServiceConfigParser {
|
|
55
56
|
}
|
56
57
|
|
57
58
|
virtual std::unique_ptr<ParsedConfig> ParsePerMethodParams(
|
58
|
-
const grpc_channel_args*, const Json& /* json */,
|
59
|
+
const grpc_channel_args*, const Json& /* json */,
|
60
|
+
grpc_error_handle* error) {
|
59
61
|
// Avoid unused parameter warning on debug-only parameter
|
60
62
|
(void)error;
|
61
63
|
GPR_DEBUG_ASSERT(error != nullptr);
|
@@ -81,10 +83,11 @@ class ServiceConfigParser {
|
|
81
83
|
|
82
84
|
static ParsedConfigVector ParseGlobalParameters(const grpc_channel_args* args,
|
83
85
|
const Json& json,
|
84
|
-
|
86
|
+
grpc_error_handle* error);
|
85
87
|
|
86
88
|
static ParsedConfigVector ParsePerMethodParameters(
|
87
|
-
const grpc_channel_args* args, const Json& json,
|
89
|
+
const grpc_channel_args* args, const Json& json,
|
90
|
+
grpc_error_handle* error);
|
88
91
|
};
|
89
92
|
|
90
93
|
} // namespace grpc_core
|
@@ -36,6 +36,8 @@
|
|
36
36
|
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
|
37
37
|
#include "src/core/ext/filters/client_channel/service_config.h"
|
38
38
|
#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h"
|
39
|
+
#include "src/core/lib/address_utils/parse_address.h"
|
40
|
+
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
39
41
|
#include "src/core/lib/backoff/backoff.h"
|
40
42
|
#include "src/core/lib/channel/channel_args.h"
|
41
43
|
#include "src/core/lib/channel/connected_channel.h"
|
@@ -45,8 +47,6 @@
|
|
45
47
|
#include "src/core/lib/gprpp/manual_constructor.h"
|
46
48
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
47
49
|
#include "src/core/lib/gprpp/sync.h"
|
48
|
-
#include "src/core/lib/iomgr/parse_address.h"
|
49
|
-
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
50
50
|
#include "src/core/lib/profiling/timers.h"
|
51
51
|
#include "src/core/lib/slice/slice_internal.h"
|
52
52
|
#include "src/core/lib/surface/channel.h"
|
@@ -131,7 +131,7 @@ size_t ConnectedSubchannel::GetInitialCallSizeEstimate() const {
|
|
131
131
|
//
|
132
132
|
|
133
133
|
RefCountedPtr<SubchannelCall> SubchannelCall::Create(Args args,
|
134
|
-
|
134
|
+
grpc_error_handle* error) {
|
135
135
|
const size_t allocation_size =
|
136
136
|
args.connected_subchannel->GetInitialCallSizeEstimate();
|
137
137
|
Arena* arena = args.arena;
|
@@ -139,7 +139,7 @@ RefCountedPtr<SubchannelCall> SubchannelCall::Create(Args args,
|
|
139
139
|
arena->Alloc(allocation_size)) SubchannelCall(std::move(args), error));
|
140
140
|
}
|
141
141
|
|
142
|
-
SubchannelCall::SubchannelCall(Args args,
|
142
|
+
SubchannelCall::SubchannelCall(Args args, grpc_error_handle* error)
|
143
143
|
: connected_subchannel_(std::move(args.connected_subchannel)),
|
144
144
|
deadline_(args.deadline) {
|
145
145
|
grpc_call_stack* callstk = SUBCHANNEL_CALL_TO_CALL_STACK(this);
|
@@ -156,8 +156,7 @@ SubchannelCall::SubchannelCall(Args args, grpc_error** error)
|
|
156
156
|
*error = grpc_call_stack_init(connected_subchannel_->channel_stack(), 1,
|
157
157
|
SubchannelCall::Destroy, this, &call_args);
|
158
158
|
if (GPR_UNLIKELY(*error != GRPC_ERROR_NONE)) {
|
159
|
-
|
160
|
-
gpr_log(GPR_ERROR, "error: %s", error_string);
|
159
|
+
gpr_log(GPR_ERROR, "error: %s", grpc_error_std_string(*error).c_str());
|
161
160
|
return;
|
162
161
|
}
|
163
162
|
grpc_call_stack_set_pollset_or_pollset_set(callstk, args.pollent);
|
@@ -207,7 +206,7 @@ void SubchannelCall::Unref(const DebugLocation& /*location*/,
|
|
207
206
|
GRPC_CALL_STACK_UNREF(SUBCHANNEL_CALL_TO_CALL_STACK(this), reason);
|
208
207
|
}
|
209
208
|
|
210
|
-
void SubchannelCall::Destroy(void* arg,
|
209
|
+
void SubchannelCall::Destroy(void* arg, grpc_error_handle /*error*/) {
|
211
210
|
GPR_TIMER_SCOPE("subchannel_call_destroy", 0);
|
212
211
|
SubchannelCall* self = static_cast<SubchannelCall*>(arg);
|
213
212
|
// Keep some members before destroying the subchannel call.
|
@@ -252,7 +251,7 @@ namespace {
|
|
252
251
|
|
253
252
|
// Sets *status based on the rest of the parameters.
|
254
253
|
void GetCallStatus(grpc_status_code* status, grpc_millis deadline,
|
255
|
-
grpc_metadata_batch* md_batch,
|
254
|
+
grpc_metadata_batch* md_batch, grpc_error_handle error) {
|
256
255
|
if (error != GRPC_ERROR_NONE) {
|
257
256
|
grpc_error_get_status(error, deadline, status, nullptr, nullptr, nullptr);
|
258
257
|
} else {
|
@@ -268,7 +267,8 @@ void GetCallStatus(grpc_status_code* status, grpc_millis deadline,
|
|
268
267
|
|
269
268
|
} // namespace
|
270
269
|
|
271
|
-
void SubchannelCall::RecvTrailingMetadataReady(void* arg,
|
270
|
+
void SubchannelCall::RecvTrailingMetadataReady(void* arg,
|
271
|
+
grpc_error_handle error) {
|
272
272
|
SubchannelCall* call = static_cast<SubchannelCall*>(arg);
|
273
273
|
GPR_ASSERT(call->recv_trailing_metadata_ != nullptr);
|
274
274
|
grpc_status_code status = GRPC_STATUS_OK;
|
@@ -375,7 +375,7 @@ class Subchannel::AsyncWatcherNotifierLocked {
|
|
375
375
|
ExecCtx::Run(DEBUG_LOCATION,
|
376
376
|
GRPC_CLOSURE_INIT(
|
377
377
|
&closure_,
|
378
|
-
[](void* arg,
|
378
|
+
[](void* arg, grpc_error_handle /*error*/) {
|
379
379
|
auto* self =
|
380
380
|
static_cast<AsyncWatcherNotifierLocked*>(arg);
|
381
381
|
self->watcher_->OnConnectivityStateChange();
|
@@ -963,7 +963,7 @@ void Subchannel::MaybeStartConnectingLocked() {
|
|
963
963
|
}
|
964
964
|
}
|
965
965
|
|
966
|
-
void Subchannel::OnRetryAlarm(void* arg,
|
966
|
+
void Subchannel::OnRetryAlarm(void* arg, grpc_error_handle error) {
|
967
967
|
WeakRefCountedPtr<Subchannel> c(static_cast<Subchannel*>(arg));
|
968
968
|
MutexLock lock(&c->mu_);
|
969
969
|
c->have_retry_alarm_ = false;
|
@@ -998,7 +998,7 @@ void Subchannel::ContinueConnectingLocked() {
|
|
998
998
|
connector_->Connect(args, &connecting_result_, &on_connecting_finished_);
|
999
999
|
}
|
1000
1000
|
|
1001
|
-
void Subchannel::OnConnectingFinished(void* arg,
|
1001
|
+
void Subchannel::OnConnectingFinished(void* arg, grpc_error_handle error) {
|
1002
1002
|
WeakRefCountedPtr<Subchannel> c(static_cast<Subchannel*>(arg));
|
1003
1003
|
const grpc_channel_args* delete_channel_args =
|
1004
1004
|
c->connecting_result_.channel_args;
|
@@ -1009,7 +1009,8 @@ void Subchannel::OnConnectingFinished(void* arg, grpc_error* error) {
|
|
1009
1009
|
c->PublishTransportLocked()) {
|
1010
1010
|
// Do nothing, transport was published.
|
1011
1011
|
} else if (!c->disconnected_) {
|
1012
|
-
gpr_log(GPR_INFO, "Connect failed: %s",
|
1012
|
+
gpr_log(GPR_INFO, "Connect failed: %s",
|
1013
|
+
grpc_error_std_string(error).c_str());
|
1013
1014
|
c->SetConnectivityStateLocked(GRPC_CHANNEL_TRANSIENT_FAILURE,
|
1014
1015
|
grpc_error_to_absl_status(error));
|
1015
1016
|
}
|
@@ -1020,7 +1021,7 @@ void Subchannel::OnConnectingFinished(void* arg, grpc_error* error) {
|
|
1020
1021
|
|
1021
1022
|
namespace {
|
1022
1023
|
|
1023
|
-
void ConnectionDestroy(void* arg,
|
1024
|
+
void ConnectionDestroy(void* arg, grpc_error_handle /*error*/) {
|
1024
1025
|
grpc_channel_stack* stk = static_cast<grpc_channel_stack*>(arg);
|
1025
1026
|
grpc_channel_stack_destroy(stk);
|
1026
1027
|
gpr_free(stk);
|
@@ -1040,13 +1041,13 @@ bool Subchannel::PublishTransportLocked() {
|
|
1040
1041
|
return false;
|
1041
1042
|
}
|
1042
1043
|
grpc_channel_stack* stk;
|
1043
|
-
|
1044
|
+
grpc_error_handle error = grpc_channel_stack_builder_finish(
|
1044
1045
|
builder, 0, 1, ConnectionDestroy, nullptr,
|
1045
1046
|
reinterpret_cast<void**>(&stk));
|
1046
1047
|
if (error != GRPC_ERROR_NONE) {
|
1047
1048
|
grpc_transport_destroy(connecting_result_.transport);
|
1048
1049
|
gpr_log(GPR_ERROR, "error initializing subchannel stack: %s",
|
1049
|
-
|
1050
|
+
grpc_error_std_string(error).c_str());
|
1050
1051
|
GRPC_ERROR_UNREF(error);
|
1051
1052
|
return false;
|
1052
1053
|
}
|
@@ -87,7 +87,8 @@ class SubchannelCall {
|
|
87
87
|
grpc_call_context_element* context;
|
88
88
|
CallCombiner* call_combiner;
|
89
89
|
};
|
90
|
-
static RefCountedPtr<SubchannelCall> Create(Args args,
|
90
|
+
static RefCountedPtr<SubchannelCall> Create(Args args,
|
91
|
+
grpc_error_handle* error);
|
91
92
|
|
92
93
|
// Continues processing a transport stream op batch.
|
93
94
|
void StartTransportStreamOpBatch(grpc_transport_stream_op_batch* batch);
|
@@ -113,20 +114,20 @@ class SubchannelCall {
|
|
113
114
|
template <typename T>
|
114
115
|
friend class RefCountedPtr;
|
115
116
|
|
116
|
-
SubchannelCall(Args args,
|
117
|
+
SubchannelCall(Args args, grpc_error_handle* error);
|
117
118
|
|
118
119
|
// If channelz is enabled, intercepts recv_trailing so that we may check the
|
119
120
|
// status and associate it to a subchannel.
|
120
121
|
void MaybeInterceptRecvTrailingMetadata(
|
121
122
|
grpc_transport_stream_op_batch* batch);
|
122
123
|
|
123
|
-
static void RecvTrailingMetadataReady(void* arg,
|
124
|
+
static void RecvTrailingMetadataReady(void* arg, grpc_error_handle error);
|
124
125
|
|
125
126
|
// Interface of RefCounted<>.
|
126
127
|
void IncrementRefCount();
|
127
128
|
void IncrementRefCount(const DebugLocation& location, const char* reason);
|
128
129
|
|
129
|
-
static void Destroy(void* arg,
|
130
|
+
static void Destroy(void* arg, grpc_error_handle error);
|
130
131
|
|
131
132
|
RefCountedPtr<ConnectedSubchannel> connected_subchannel_;
|
132
133
|
grpc_closure* after_call_stack_destroy_ = nullptr;
|
@@ -340,10 +341,10 @@ class Subchannel : public DualRefCounted<Subchannel> {
|
|
340
341
|
|
341
342
|
// Methods for connection.
|
342
343
|
void MaybeStartConnectingLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
343
|
-
static void OnRetryAlarm(void* arg,
|
344
|
+
static void OnRetryAlarm(void* arg, grpc_error_handle error)
|
344
345
|
ABSL_LOCKS_EXCLUDED(mu_);
|
345
346
|
void ContinueConnectingLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
346
|
-
static void OnConnectingFinished(void* arg,
|
347
|
+
static void OnConnectingFinished(void* arg, grpc_error_handle error)
|
347
348
|
ABSL_LOCKS_EXCLUDED(mu_);
|
348
349
|
bool PublishTransportLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_);
|
349
350
|
|
@@ -126,8 +126,8 @@ grpc_millis GetClientIdleTimeout(const grpc_channel_args* args) {
|
|
126
126
|
|
127
127
|
class ChannelData {
|
128
128
|
public:
|
129
|
-
static
|
130
|
-
|
129
|
+
static grpc_error_handle Init(grpc_channel_element* elem,
|
130
|
+
grpc_channel_element_args* args);
|
131
131
|
static void Destroy(grpc_channel_element* elem);
|
132
132
|
|
133
133
|
static void StartTransportOp(grpc_channel_element* elem,
|
@@ -139,11 +139,12 @@ class ChannelData {
|
|
139
139
|
|
140
140
|
private:
|
141
141
|
ChannelData(grpc_channel_element* elem, grpc_channel_element_args* args,
|
142
|
-
|
142
|
+
grpc_error_handle* error);
|
143
143
|
~ChannelData() = default;
|
144
144
|
|
145
|
-
static void IdleTimerCallback(void* arg,
|
146
|
-
static void IdleTransportOpCompleteCallback(void* arg,
|
145
|
+
static void IdleTimerCallback(void* arg, grpc_error_handle error);
|
146
|
+
static void IdleTransportOpCompleteCallback(void* arg,
|
147
|
+
grpc_error_handle error);
|
147
148
|
|
148
149
|
void StartIdleTimer();
|
149
150
|
|
@@ -170,9 +171,9 @@ class ChannelData {
|
|
170
171
|
grpc_closure idle_transport_op_complete_callback_;
|
171
172
|
};
|
172
173
|
|
173
|
-
|
174
|
-
|
175
|
-
|
174
|
+
grpc_error_handle ChannelData::Init(grpc_channel_element* elem,
|
175
|
+
grpc_channel_element_args* args) {
|
176
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
176
177
|
new (elem->channel_data) ChannelData(elem, args, &error);
|
177
178
|
return error;
|
178
179
|
}
|
@@ -186,7 +187,7 @@ void ChannelData::StartTransportOp(grpc_channel_element* elem,
|
|
186
187
|
grpc_transport_op* op) {
|
187
188
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
188
189
|
// Catch the disconnect_with_error transport op.
|
189
|
-
if (op->disconnect_with_error !=
|
190
|
+
if (op->disconnect_with_error != GRPC_ERROR_NONE) {
|
190
191
|
// IncreaseCallCount() introduces a phony call and prevent the timer from
|
191
192
|
// being reset by other threads.
|
192
193
|
chand->IncreaseCallCount();
|
@@ -283,7 +284,7 @@ void ChannelData::DecreaseCallCount() {
|
|
283
284
|
|
284
285
|
ChannelData::ChannelData(grpc_channel_element* elem,
|
285
286
|
grpc_channel_element_args* args,
|
286
|
-
|
287
|
+
grpc_error_handle* /*error*/)
|
287
288
|
: elem_(elem),
|
288
289
|
channel_stack_(args->channel_stack),
|
289
290
|
client_idle_timeout_(GetClientIdleTimeout(args->channel_args)) {
|
@@ -303,7 +304,7 @@ ChannelData::ChannelData(grpc_channel_element* elem,
|
|
303
304
|
grpc_schedule_on_exec_ctx);
|
304
305
|
}
|
305
306
|
|
306
|
-
void ChannelData::IdleTimerCallback(void* arg,
|
307
|
+
void ChannelData::IdleTimerCallback(void* arg, grpc_error_handle error) {
|
307
308
|
GRPC_IDLE_FILTER_LOG("timer alarms");
|
308
309
|
ChannelData* chand = static_cast<ChannelData*>(arg);
|
309
310
|
if (error != GRPC_ERROR_NONE) {
|
@@ -352,7 +353,7 @@ void ChannelData::IdleTimerCallback(void* arg, grpc_error* error) {
|
|
352
353
|
}
|
353
354
|
|
354
355
|
void ChannelData::IdleTransportOpCompleteCallback(void* arg,
|
355
|
-
|
356
|
+
grpc_error_handle /*error*/) {
|
356
357
|
ChannelData* chand = static_cast<ChannelData*>(arg);
|
357
358
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack_, "idle transport op");
|
358
359
|
}
|
@@ -381,15 +382,15 @@ void ChannelData::EnterIdle() {
|
|
381
382
|
|
382
383
|
class CallData {
|
383
384
|
public:
|
384
|
-
static
|
385
|
-
|
385
|
+
static grpc_error_handle Init(grpc_call_element* elem,
|
386
|
+
const grpc_call_element_args* args);
|
386
387
|
static void Destroy(grpc_call_element* elem,
|
387
388
|
const grpc_call_final_info* final_info,
|
388
389
|
grpc_closure* then_schedule_closure);
|
389
390
|
};
|
390
391
|
|
391
|
-
|
392
|
-
|
392
|
+
grpc_error_handle CallData::Init(grpc_call_element* elem,
|
393
|
+
const grpc_call_element_args* /*args*/) {
|
393
394
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
394
395
|
chand->IncreaseCallCount();
|
395
396
|
return GRPC_ERROR_NONE;
|
@@ -51,7 +51,7 @@ class TimerState {
|
|
51
51
|
private:
|
52
52
|
// The on_complete callback used when sending a cancel_error batch down the
|
53
53
|
// filter stack. Yields the call combiner when the batch returns.
|
54
|
-
static void YieldCallCombiner(void* arg,
|
54
|
+
static void YieldCallCombiner(void* arg, grpc_error_handle /*ignored*/) {
|
55
55
|
TimerState* self = static_cast<TimerState*>(arg);
|
56
56
|
grpc_deadline_state* deadline_state =
|
57
57
|
static_cast<grpc_deadline_state*>(self->elem_->call_data);
|
@@ -62,7 +62,7 @@ class TimerState {
|
|
62
62
|
|
63
63
|
// This is called via the call combiner, so access to deadline_state is
|
64
64
|
// synchronized.
|
65
|
-
static void SendCancelOpInCallCombiner(void* arg,
|
65
|
+
static void SendCancelOpInCallCombiner(void* arg, grpc_error_handle error) {
|
66
66
|
TimerState* self = static_cast<TimerState*>(arg);
|
67
67
|
grpc_transport_stream_op_batch* batch = grpc_make_transport_stream_op(
|
68
68
|
GRPC_CLOSURE_INIT(&self->closure_, YieldCallCombiner, self, nullptr));
|
@@ -72,7 +72,7 @@ class TimerState {
|
|
72
72
|
}
|
73
73
|
|
74
74
|
// Timer callback.
|
75
|
-
static void TimerCallback(void* arg,
|
75
|
+
static void TimerCallback(void* arg, grpc_error_handle error) {
|
76
76
|
TimerState* self = static_cast<TimerState*>(arg);
|
77
77
|
grpc_deadline_state* deadline_state =
|
78
78
|
static_cast<grpc_deadline_state*>(self->elem_->call_data);
|
@@ -135,7 +135,7 @@ static void cancel_timer_if_needed(grpc_deadline_state* deadline_state) {
|
|
135
135
|
}
|
136
136
|
|
137
137
|
// Callback run when we receive trailing metadata.
|
138
|
-
static void recv_trailing_metadata_ready(void* arg,
|
138
|
+
static void recv_trailing_metadata_ready(void* arg, grpc_error_handle error) {
|
139
139
|
grpc_deadline_state* deadline_state = static_cast<grpc_deadline_state*>(arg);
|
140
140
|
cancel_timer_if_needed(deadline_state);
|
141
141
|
// Invoke the original callback.
|
@@ -168,7 +168,7 @@ struct start_timer_after_init_state {
|
|
168
168
|
grpc_millis deadline;
|
169
169
|
grpc_closure closure;
|
170
170
|
};
|
171
|
-
static void start_timer_after_init(void* arg,
|
171
|
+
static void start_timer_after_init(void* arg, grpc_error_handle error) {
|
172
172
|
struct start_timer_after_init_state* state =
|
173
173
|
static_cast<struct start_timer_after_init_state*>(arg);
|
174
174
|
grpc_deadline_state* deadline_state =
|
@@ -241,8 +241,8 @@ void grpc_deadline_state_client_start_transport_stream_op_batch(
|
|
241
241
|
//
|
242
242
|
|
243
243
|
// Constructor for channel_data. Used for both client and server filters.
|
244
|
-
static
|
245
|
-
|
244
|
+
static grpc_error_handle deadline_init_channel_elem(
|
245
|
+
grpc_channel_element* /*elem*/, grpc_channel_element_args* args) {
|
246
246
|
GPR_ASSERT(!args->is_last);
|
247
247
|
return GRPC_ERROR_NONE;
|
248
248
|
}
|
@@ -268,8 +268,8 @@ typedef struct server_call_data {
|
|
268
268
|
} server_call_data;
|
269
269
|
|
270
270
|
// Constructor for call_data. Used for both client and server filters.
|
271
|
-
static
|
272
|
-
|
271
|
+
static grpc_error_handle deadline_init_call_elem(
|
272
|
+
grpc_call_element* elem, const grpc_call_element_args* args) {
|
273
273
|
new (elem->call_data) grpc_deadline_state(elem, *args, args->deadline);
|
274
274
|
return GRPC_ERROR_NONE;
|
275
275
|
}
|
@@ -292,7 +292,7 @@ static void deadline_client_start_transport_stream_op_batch(
|
|
292
292
|
}
|
293
293
|
|
294
294
|
// Callback for receiving initial metadata on the server.
|
295
|
-
static void recv_initial_metadata_ready(void* arg,
|
295
|
+
static void recv_initial_metadata_ready(void* arg, grpc_error_handle error) {
|
296
296
|
grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
|
297
297
|
server_call_data* calld = static_cast<server_call_data*>(elem->call_data);
|
298
298
|
start_timer_if_needed(elem, calld->recv_initial_metadata->deadline);
|