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
@@ -89,24 +89,24 @@ class CallData {
|
|
89
89
|
grpc_call_element* elem, grpc_transport_stream_op_batch* batch);
|
90
90
|
|
91
91
|
private:
|
92
|
-
static void OnRecvInitialMetadataReady(void* arg,
|
92
|
+
static void OnRecvInitialMetadataReady(void* arg, grpc_error_handle error);
|
93
93
|
|
94
94
|
// Methods for processing a receive message event
|
95
95
|
void MaybeResumeOnRecvMessageReady();
|
96
|
-
static void OnRecvMessageReady(void* arg,
|
97
|
-
static void OnRecvMessageNextDone(void* arg,
|
98
|
-
|
96
|
+
static void OnRecvMessageReady(void* arg, grpc_error_handle error);
|
97
|
+
static void OnRecvMessageNextDone(void* arg, grpc_error_handle error);
|
98
|
+
grpc_error_handle PullSliceFromRecvMessage();
|
99
99
|
void ContinueReadingRecvMessage();
|
100
100
|
void FinishRecvMessage();
|
101
|
-
void ContinueRecvMessageReadyCallback(
|
101
|
+
void ContinueRecvMessageReadyCallback(grpc_error_handle error);
|
102
102
|
|
103
103
|
// Methods for processing a recv_trailing_metadata event
|
104
104
|
void MaybeResumeOnRecvTrailingMetadataReady();
|
105
|
-
static void OnRecvTrailingMetadataReady(void* arg,
|
105
|
+
static void OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error);
|
106
106
|
|
107
107
|
CallCombiner* call_combiner_;
|
108
108
|
// Overall error for the call
|
109
|
-
|
109
|
+
grpc_error_handle error_ = GRPC_ERROR_NONE;
|
110
110
|
// Fields for handling recv_initial_metadata_ready callback
|
111
111
|
grpc_closure on_recv_initial_metadata_ready_;
|
112
112
|
grpc_closure* original_recv_initial_metadata_ready_ = nullptr;
|
@@ -130,7 +130,7 @@ class CallData {
|
|
130
130
|
bool seen_recv_trailing_metadata_ready_ = false;
|
131
131
|
grpc_closure on_recv_trailing_metadata_ready_;
|
132
132
|
grpc_closure* original_recv_trailing_metadata_ready_ = nullptr;
|
133
|
-
|
133
|
+
grpc_error_handle on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
|
134
134
|
};
|
135
135
|
|
136
136
|
grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
|
@@ -149,7 +149,7 @@ grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
|
|
149
149
|
return algorithm;
|
150
150
|
}
|
151
151
|
|
152
|
-
void CallData::OnRecvInitialMetadataReady(void* arg,
|
152
|
+
void CallData::OnRecvInitialMetadataReady(void* arg, grpc_error_handle error) {
|
153
153
|
CallData* calld = static_cast<CallData*>(arg);
|
154
154
|
if (error == GRPC_ERROR_NONE) {
|
155
155
|
grpc_linked_mdelem* grpc_encoding =
|
@@ -174,7 +174,7 @@ void CallData::MaybeResumeOnRecvMessageReady() {
|
|
174
174
|
}
|
175
175
|
}
|
176
176
|
|
177
|
-
void CallData::OnRecvMessageReady(void* arg,
|
177
|
+
void CallData::OnRecvMessageReady(void* arg, grpc_error_handle error) {
|
178
178
|
CallData* calld = static_cast<CallData*>(arg);
|
179
179
|
if (error == GRPC_ERROR_NONE) {
|
180
180
|
if (calld->original_recv_initial_metadata_ready_ != nullptr) {
|
@@ -218,7 +218,7 @@ void CallData::ContinueReadingRecvMessage() {
|
|
218
218
|
while ((*recv_message_)
|
219
219
|
->Next((*recv_message_)->length() - recv_slices_.length,
|
220
220
|
&on_recv_message_next_done_)) {
|
221
|
-
|
221
|
+
grpc_error_handle error = PullSliceFromRecvMessage();
|
222
222
|
if (error != GRPC_ERROR_NONE) {
|
223
223
|
return ContinueRecvMessageReadyCallback(error);
|
224
224
|
}
|
@@ -229,16 +229,16 @@ void CallData::ContinueReadingRecvMessage() {
|
|
229
229
|
}
|
230
230
|
}
|
231
231
|
|
232
|
-
|
232
|
+
grpc_error_handle CallData::PullSliceFromRecvMessage() {
|
233
233
|
grpc_slice incoming_slice;
|
234
|
-
|
234
|
+
grpc_error_handle error = (*recv_message_)->Pull(&incoming_slice);
|
235
235
|
if (error == GRPC_ERROR_NONE) {
|
236
236
|
grpc_slice_buffer_add(&recv_slices_, incoming_slice);
|
237
237
|
}
|
238
238
|
return error;
|
239
239
|
}
|
240
240
|
|
241
|
-
void CallData::OnRecvMessageNextDone(void* arg,
|
241
|
+
void CallData::OnRecvMessageNextDone(void* arg, grpc_error_handle error) {
|
242
242
|
CallData* calld = static_cast<CallData*>(arg);
|
243
243
|
if (error != GRPC_ERROR_NONE) {
|
244
244
|
return calld->ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error));
|
@@ -283,7 +283,7 @@ void CallData::FinishRecvMessage() {
|
|
283
283
|
ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error_));
|
284
284
|
}
|
285
285
|
|
286
|
-
void CallData::ContinueRecvMessageReadyCallback(
|
286
|
+
void CallData::ContinueRecvMessageReadyCallback(grpc_error_handle error) {
|
287
287
|
MaybeResumeOnRecvTrailingMetadataReady();
|
288
288
|
// The surface will clean up the receiving stream if there is an error.
|
289
289
|
grpc_closure* closure = original_recv_message_ready_;
|
@@ -294,14 +294,14 @@ void CallData::ContinueRecvMessageReadyCallback(grpc_error* error) {
|
|
294
294
|
void CallData::MaybeResumeOnRecvTrailingMetadataReady() {
|
295
295
|
if (seen_recv_trailing_metadata_ready_) {
|
296
296
|
seen_recv_trailing_metadata_ready_ = false;
|
297
|
-
|
297
|
+
grpc_error_handle error = on_recv_trailing_metadata_ready_error_;
|
298
298
|
on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
|
299
299
|
GRPC_CALL_COMBINER_START(call_combiner_, &on_recv_trailing_metadata_ready_,
|
300
300
|
error, "Continuing OnRecvTrailingMetadataReady");
|
301
301
|
}
|
302
302
|
}
|
303
303
|
|
304
|
-
void CallData::OnRecvTrailingMetadataReady(void* arg,
|
304
|
+
void CallData::OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error) {
|
305
305
|
CallData* calld = static_cast<CallData*>(arg);
|
306
306
|
if (calld->original_recv_initial_metadata_ready_ != nullptr ||
|
307
307
|
calld->original_recv_message_ready_ != nullptr) {
|
@@ -356,8 +356,8 @@ void DecompressStartTransportStreamOpBatch(
|
|
356
356
|
calld->DecompressStartTransportStreamOpBatch(elem, batch);
|
357
357
|
}
|
358
358
|
|
359
|
-
|
360
|
-
|
359
|
+
grpc_error_handle DecompressInitCallElem(grpc_call_element* elem,
|
360
|
+
const grpc_call_element_args* args) {
|
361
361
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
362
362
|
new (elem->call_data) CallData(*args, chand);
|
363
363
|
return GRPC_ERROR_NONE;
|
@@ -370,8 +370,8 @@ void DecompressDestroyCallElem(grpc_call_element* elem,
|
|
370
370
|
calld->~CallData();
|
371
371
|
}
|
372
372
|
|
373
|
-
|
374
|
-
|
373
|
+
grpc_error_handle DecompressInitChannelElem(grpc_channel_element* elem,
|
374
|
+
grpc_channel_element_args* args) {
|
375
375
|
ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
|
376
376
|
new (chand) ChannelData(args);
|
377
377
|
return GRPC_ERROR_NONE;
|
@@ -35,9 +35,11 @@
|
|
35
35
|
#define EXPECTED_CONTENT_TYPE "application/grpc"
|
36
36
|
#define EXPECTED_CONTENT_TYPE_LENGTH (sizeof(EXPECTED_CONTENT_TYPE) - 1)
|
37
37
|
|
38
|
-
static void hs_recv_initial_metadata_ready(void* user_data,
|
39
|
-
|
40
|
-
static void
|
38
|
+
static void hs_recv_initial_metadata_ready(void* user_data,
|
39
|
+
grpc_error_handle err);
|
40
|
+
static void hs_recv_trailing_metadata_ready(void* user_data,
|
41
|
+
grpc_error_handle err);
|
42
|
+
static void hs_recv_message_ready(void* user_data, grpc_error_handle err);
|
41
43
|
|
42
44
|
namespace {
|
43
45
|
|
@@ -74,7 +76,7 @@ struct call_data {
|
|
74
76
|
|
75
77
|
// State for intercepting recv_initial_metadata.
|
76
78
|
grpc_closure recv_initial_metadata_ready;
|
77
|
-
|
79
|
+
grpc_error_handle recv_initial_metadata_ready_error = GRPC_ERROR_NONE;
|
78
80
|
grpc_closure* original_recv_initial_metadata_ready;
|
79
81
|
grpc_metadata_batch* recv_initial_metadata = nullptr;
|
80
82
|
uint32_t* recv_initial_metadata_flags;
|
@@ -89,7 +91,7 @@ struct call_data {
|
|
89
91
|
// State for intercepting recv_trailing_metadata
|
90
92
|
grpc_closure recv_trailing_metadata_ready;
|
91
93
|
grpc_closure* original_recv_trailing_metadata_ready;
|
92
|
-
|
94
|
+
grpc_error_handle recv_trailing_metadata_ready_error;
|
93
95
|
bool seen_recv_trailing_metadata_ready = false;
|
94
96
|
};
|
95
97
|
|
@@ -99,7 +101,7 @@ struct channel_data {
|
|
99
101
|
|
100
102
|
} // namespace
|
101
103
|
|
102
|
-
static
|
104
|
+
static grpc_error_handle hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
|
103
105
|
if (b->idx.named.grpc_message != nullptr) {
|
104
106
|
grpc_slice pct_encoded_msg = grpc_percent_encode_slice(
|
105
107
|
GRPC_MDVALUE(b->idx.named.grpc_message->md),
|
@@ -114,8 +116,8 @@ static grpc_error* hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
|
|
114
116
|
return GRPC_ERROR_NONE;
|
115
117
|
}
|
116
118
|
|
117
|
-
static void hs_add_error(const char* error_name,
|
118
|
-
|
119
|
+
static void hs_add_error(const char* error_name, grpc_error_handle* cumulative,
|
120
|
+
grpc_error_handle new_err) {
|
119
121
|
if (new_err == GRPC_ERROR_NONE) return;
|
120
122
|
if (*cumulative == GRPC_ERROR_NONE) {
|
121
123
|
*cumulative = GRPC_ERROR_CREATE_FROM_COPIED_STRING(error_name);
|
@@ -149,10 +151,10 @@ static bool md_strict_equal(grpc_mdelem a, grpc_mdelem b_static) {
|
|
149
151
|
}
|
150
152
|
}
|
151
153
|
|
152
|
-
static
|
153
|
-
|
154
|
+
static grpc_error_handle hs_filter_incoming_metadata(grpc_call_element* elem,
|
155
|
+
grpc_metadata_batch* b) {
|
154
156
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
155
|
-
|
157
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
156
158
|
static const char* error_name = "Failed processing incoming headers";
|
157
159
|
|
158
160
|
if (b->idx.named.method != nullptr) {
|
@@ -330,7 +332,8 @@ static grpc_error* hs_filter_incoming_metadata(grpc_call_element* elem,
|
|
330
332
|
return error;
|
331
333
|
}
|
332
334
|
|
333
|
-
static void hs_recv_initial_metadata_ready(void* user_data,
|
335
|
+
static void hs_recv_initial_metadata_ready(void* user_data,
|
336
|
+
grpc_error_handle err) {
|
334
337
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
335
338
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
336
339
|
calld->seen_recv_initial_metadata_ready = true;
|
@@ -367,7 +370,7 @@ static void hs_recv_initial_metadata_ready(void* user_data, grpc_error* err) {
|
|
367
370
|
calld->original_recv_initial_metadata_ready, err);
|
368
371
|
}
|
369
372
|
|
370
|
-
static void hs_recv_message_ready(void* user_data,
|
373
|
+
static void hs_recv_message_ready(void* user_data, grpc_error_handle err) {
|
371
374
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
372
375
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
373
376
|
calld->seen_recv_message_ready = true;
|
@@ -392,7 +395,8 @@ static void hs_recv_message_ready(void* user_data, grpc_error* err) {
|
|
392
395
|
}
|
393
396
|
}
|
394
397
|
|
395
|
-
static void hs_recv_trailing_metadata_ready(void* user_data,
|
398
|
+
static void hs_recv_trailing_metadata_ready(void* user_data,
|
399
|
+
grpc_error_handle err) {
|
396
400
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
397
401
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
398
402
|
if (!calld->seen_recv_initial_metadata_ready) {
|
@@ -410,13 +414,13 @@ static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err) {
|
|
410
414
|
calld->original_recv_trailing_metadata_ready, err);
|
411
415
|
}
|
412
416
|
|
413
|
-
static
|
414
|
-
|
417
|
+
static grpc_error_handle hs_mutate_op(grpc_call_element* elem,
|
418
|
+
grpc_transport_stream_op_batch* op) {
|
415
419
|
/* grab pointers to our data from the call element */
|
416
420
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
417
421
|
|
418
422
|
if (op->send_initial_metadata) {
|
419
|
-
|
423
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
420
424
|
static const char* error_name = "Failed sending initial metadata";
|
421
425
|
hs_add_error(
|
422
426
|
error_name, &error,
|
@@ -463,7 +467,7 @@ static grpc_error* hs_mutate_op(grpc_call_element* elem,
|
|
463
467
|
}
|
464
468
|
|
465
469
|
if (op->send_trailing_metadata) {
|
466
|
-
|
470
|
+
grpc_error_handle error = hs_filter_outgoing_metadata(
|
467
471
|
op->payload->send_trailing_metadata.send_trailing_metadata);
|
468
472
|
if (error != GRPC_ERROR_NONE) return error;
|
469
473
|
}
|
@@ -475,7 +479,7 @@ static void hs_start_transport_stream_op_batch(
|
|
475
479
|
grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
|
476
480
|
GPR_TIMER_SCOPE("hs_start_transport_stream_op_batch", 0);
|
477
481
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
478
|
-
|
482
|
+
grpc_error_handle error = hs_mutate_op(elem, op);
|
479
483
|
if (error != GRPC_ERROR_NONE) {
|
480
484
|
grpc_transport_stream_op_batch_finish_with_failure(op, error,
|
481
485
|
calld->call_combiner);
|
@@ -485,8 +489,8 @@ static void hs_start_transport_stream_op_batch(
|
|
485
489
|
}
|
486
490
|
|
487
491
|
/* Constructor for call_data */
|
488
|
-
static
|
489
|
-
|
492
|
+
static grpc_error_handle hs_init_call_elem(grpc_call_element* elem,
|
493
|
+
const grpc_call_element_args* args) {
|
490
494
|
new (elem->call_data) call_data(elem, *args);
|
491
495
|
return GRPC_ERROR_NONE;
|
492
496
|
}
|
@@ -500,8 +504,8 @@ static void hs_destroy_call_elem(grpc_call_element* elem,
|
|
500
504
|
}
|
501
505
|
|
502
506
|
/* Constructor for channel_data */
|
503
|
-
static
|
504
|
-
|
507
|
+
static grpc_error_handle hs_init_channel_elem(grpc_channel_element* elem,
|
508
|
+
grpc_channel_element_args* args) {
|
505
509
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
506
510
|
GPR_ASSERT(!args->is_last);
|
507
511
|
chand->surface_user_agent = grpc_channel_arg_get_bool(
|
@@ -206,7 +206,8 @@ static void decrease_call_count(channel_data* chand) {
|
|
206
206
|
}
|
207
207
|
}
|
208
208
|
|
209
|
-
static void start_max_idle_timer_after_init(void* arg,
|
209
|
+
static void start_max_idle_timer_after_init(void* arg,
|
210
|
+
grpc_error_handle /*error*/) {
|
210
211
|
channel_data* chand = static_cast<channel_data*>(arg);
|
211
212
|
/* Decrease call_count. If there are no active calls at this time,
|
212
213
|
max_idle_timer will start here. If the number of active calls is not 0,
|
@@ -258,7 +259,8 @@ class ConnectivityWatcher : public AsyncConnectivityStateWatcherInterface {
|
|
258
259
|
|
259
260
|
} // namespace grpc_core
|
260
261
|
|
261
|
-
static void start_max_age_timer_after_init(void* arg,
|
262
|
+
static void start_max_age_timer_after_init(void* arg,
|
263
|
+
grpc_error_handle /*error*/) {
|
262
264
|
channel_data* chand = static_cast<channel_data*>(arg);
|
263
265
|
{
|
264
266
|
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
@@ -277,8 +279,8 @@ static void start_max_age_timer_after_init(void* arg, grpc_error* /*error*/) {
|
|
277
279
|
"max_age start_max_age_timer_after_init");
|
278
280
|
}
|
279
281
|
|
280
|
-
static void start_max_age_grace_timer_after_goaway_op(
|
281
|
-
|
282
|
+
static void start_max_age_grace_timer_after_goaway_op(
|
283
|
+
void* arg, grpc_error_handle /*error*/) {
|
282
284
|
channel_data* chand = static_cast<channel_data*>(arg);
|
283
285
|
{
|
284
286
|
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
@@ -307,7 +309,7 @@ static void close_max_idle_channel(channel_data* chand) {
|
|
307
309
|
elem->filter->start_transport_op(elem, op);
|
308
310
|
}
|
309
311
|
|
310
|
-
static void max_idle_timer_cb(void* arg,
|
312
|
+
static void max_idle_timer_cb(void* arg, grpc_error_handle error) {
|
311
313
|
channel_data* chand = static_cast<channel_data*>(arg);
|
312
314
|
if (error == GRPC_ERROR_NONE) {
|
313
315
|
bool try_again = true;
|
@@ -351,7 +353,7 @@ static void max_idle_timer_cb(void* arg, grpc_error* error) {
|
|
351
353
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_idle_timer");
|
352
354
|
}
|
353
355
|
|
354
|
-
static void close_max_age_channel(void* arg,
|
356
|
+
static void close_max_age_channel(void* arg, grpc_error_handle error) {
|
355
357
|
channel_data* chand = static_cast<channel_data*>(arg);
|
356
358
|
{
|
357
359
|
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
@@ -374,7 +376,7 @@ static void close_max_age_channel(void* arg, grpc_error* error) {
|
|
374
376
|
GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_timer");
|
375
377
|
}
|
376
378
|
|
377
|
-
static void force_close_max_age_channel(void* arg,
|
379
|
+
static void force_close_max_age_channel(void* arg, grpc_error_handle error) {
|
378
380
|
channel_data* chand = static_cast<channel_data*>(arg);
|
379
381
|
{
|
380
382
|
grpc_core::MutexLock lock(&chand->max_age_timer_mu);
|
@@ -412,7 +414,7 @@ add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) {
|
|
412
414
|
}
|
413
415
|
|
414
416
|
/* Constructor for call_data. */
|
415
|
-
static
|
417
|
+
static grpc_error_handle max_age_init_call_elem(
|
416
418
|
grpc_call_element* elem, const grpc_call_element_args* /*args*/) {
|
417
419
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
418
420
|
increase_call_count(chand);
|
@@ -428,8 +430,8 @@ static void max_age_destroy_call_elem(
|
|
428
430
|
}
|
429
431
|
|
430
432
|
/* Constructor for channel_data. */
|
431
|
-
static
|
432
|
-
|
433
|
+
static grpc_error_handle max_age_init_channel_elem(
|
434
|
+
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
433
435
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
434
436
|
new (chand) channel_data();
|
435
437
|
chand->channel_stack = args->channel_stack;
|
@@ -37,8 +37,9 @@
|
|
37
37
|
#include "src/core/lib/surface/call.h"
|
38
38
|
#include "src/core/lib/surface/channel_init.h"
|
39
39
|
|
40
|
-
static void recv_message_ready(void* user_data,
|
41
|
-
static void recv_trailing_metadata_ready(void* user_data,
|
40
|
+
static void recv_message_ready(void* user_data, grpc_error_handle error);
|
41
|
+
static void recv_trailing_metadata_ready(void* user_data,
|
42
|
+
grpc_error_handle error);
|
42
43
|
|
43
44
|
namespace grpc_core {
|
44
45
|
|
@@ -67,9 +68,10 @@ const MessageSizeParsedConfig* MessageSizeParsedConfig::GetFromCallContext(
|
|
67
68
|
|
68
69
|
std::unique_ptr<ServiceConfigParser::ParsedConfig>
|
69
70
|
MessageSizeParser::ParsePerMethodParams(const grpc_channel_args* /*args*/,
|
70
|
-
const Json& json,
|
71
|
+
const Json& json,
|
72
|
+
grpc_error_handle* error) {
|
71
73
|
GPR_DEBUG_ASSERT(error != nullptr && *error == GRPC_ERROR_NONE);
|
72
|
-
std::vector<
|
74
|
+
std::vector<grpc_error_handle> error_list;
|
73
75
|
// Max request size.
|
74
76
|
int max_request_message_bytes = -1;
|
75
77
|
auto it = json.object_value().find("maxRequestMessageBytes");
|
@@ -179,7 +181,7 @@ struct call_data {
|
|
179
181
|
grpc_closure recv_message_ready;
|
180
182
|
grpc_closure recv_trailing_metadata_ready;
|
181
183
|
// The error caused by a message that is too large, or GRPC_ERROR_NONE
|
182
|
-
|
184
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
183
185
|
// Used by recv_message_ready.
|
184
186
|
grpc_core::OrphanablePtr<grpc_core::ByteStream>* recv_message = nullptr;
|
185
187
|
// Original recv_message_ready callback, invoked after our own.
|
@@ -187,20 +189,20 @@ struct call_data {
|
|
187
189
|
// Original recv_trailing_metadata callback, invoked after our own.
|
188
190
|
grpc_closure* original_recv_trailing_metadata_ready;
|
189
191
|
bool seen_recv_trailing_metadata = false;
|
190
|
-
|
192
|
+
grpc_error_handle recv_trailing_metadata_error;
|
191
193
|
};
|
192
194
|
|
193
195
|
} // namespace
|
194
196
|
|
195
197
|
// Callback invoked when we receive a message. Here we check the max
|
196
198
|
// receive message size.
|
197
|
-
static void recv_message_ready(void* user_data,
|
199
|
+
static void recv_message_ready(void* user_data, grpc_error_handle error) {
|
198
200
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
199
201
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
200
202
|
if (*calld->recv_message != nullptr && calld->limits.max_recv_size >= 0 &&
|
201
203
|
(*calld->recv_message)->length() >
|
202
204
|
static_cast<size_t>(calld->limits.max_recv_size)) {
|
203
|
-
|
205
|
+
grpc_error_handle new_error = grpc_error_set_int(
|
204
206
|
GRPC_ERROR_CREATE_FROM_COPIED_STRING(
|
205
207
|
absl::StrFormat("Received message larger than max (%u vs. %d)",
|
206
208
|
(*calld->recv_message)->length(),
|
@@ -233,7 +235,8 @@ static void recv_message_ready(void* user_data, grpc_error* error) {
|
|
233
235
|
|
234
236
|
// Callback invoked on completion of recv_trailing_metadata
|
235
237
|
// Notifies the recv_trailing_metadata batch of any message size failures
|
236
|
-
static void recv_trailing_metadata_ready(void* user_data,
|
238
|
+
static void recv_trailing_metadata_ready(void* user_data,
|
239
|
+
grpc_error_handle error) {
|
237
240
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
238
241
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
239
242
|
if (calld->next_recv_message_ready != nullptr) {
|
@@ -291,7 +294,7 @@ static void message_size_start_transport_stream_op_batch(
|
|
291
294
|
}
|
292
295
|
|
293
296
|
// Constructor for call_data.
|
294
|
-
static
|
297
|
+
static grpc_error_handle message_size_init_call_elem(
|
295
298
|
grpc_call_element* elem, const grpc_call_element_args* args) {
|
296
299
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
297
300
|
new (elem->call_data) call_data(elem, *chand, *args);
|
@@ -315,7 +318,7 @@ grpc_core::MessageSizeParsedConfig::message_size_limits get_message_size_limits(
|
|
315
318
|
}
|
316
319
|
|
317
320
|
// Constructor for channel_data.
|
318
|
-
static
|
321
|
+
static grpc_error_handle message_size_init_channel_elem(
|
319
322
|
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
320
323
|
GPR_ASSERT(!args->is_last);
|
321
324
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
@@ -51,7 +51,7 @@ class MessageSizeParser : public ServiceConfigParser::Parser {
|
|
51
51
|
public:
|
52
52
|
std::unique_ptr<ServiceConfigParser::ParsedConfig> ParsePerMethodParams(
|
53
53
|
const grpc_channel_args* /*args*/, const Json& json,
|
54
|
-
|
54
|
+
grpc_error_handle* error) override;
|
55
55
|
|
56
56
|
static void Register();
|
57
57
|
|
@@ -54,7 +54,8 @@ static bool get_user_agent_mdelem(const grpc_metadata_batch* batch,
|
|
54
54
|
}
|
55
55
|
|
56
56
|
// Callback invoked when we receive an initial metadata.
|
57
|
-
static void recv_initial_metadata_ready(void* user_data,
|
57
|
+
static void recv_initial_metadata_ready(void* user_data,
|
58
|
+
grpc_error_handle error) {
|
58
59
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
59
60
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
60
61
|
|
@@ -105,7 +106,7 @@ static void cronet_compression_start_transport_stream_op_batch(
|
|
105
106
|
}
|
106
107
|
|
107
108
|
// Constructor for call_data.
|
108
|
-
static
|
109
|
+
static grpc_error_handle cronet_compression_init_call_elem(
|
109
110
|
grpc_call_element* elem, const grpc_call_element_args* /*args*/) {
|
110
111
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
111
112
|
calld->next_recv_initial_metadata_ready = nullptr;
|
@@ -122,7 +123,7 @@ static void cronet_compression_destroy_call_elem(
|
|
122
123
|
grpc_closure* /*ignored*/) {}
|
123
124
|
|
124
125
|
// Constructor for channel_data.
|
125
|
-
static
|
126
|
+
static grpc_error_handle cronet_compression_init_channel_elem(
|
126
127
|
grpc_channel_element* /*elem*/, grpc_channel_element_args* /*args*/) {
|
127
128
|
return GRPC_ERROR_NONE;
|
128
129
|
}
|