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
@@ -27,8 +27,9 @@
|
|
27
27
|
|
28
28
|
#include "src/core/lib/iomgr/error.h"
|
29
29
|
|
30
|
-
|
31
|
-
|
30
|
+
grpc_error_handle grpc_validate_header_key_is_legal(const grpc_slice& slice);
|
31
|
+
grpc_error_handle grpc_validate_header_nonbin_value_is_legal(
|
32
|
+
const grpc_slice& slice);
|
32
33
|
|
33
34
|
int grpc_is_binary_header_internal(const grpc_slice& slice);
|
34
35
|
inline int grpc_key_is_binary_header(const uint8_t* buf, size_t length) {
|
@@ -23,6 +23,8 @@
|
|
23
23
|
|
24
24
|
#include <grpc/grpc.h>
|
25
25
|
|
26
|
-
const char* grpc_version_string(void) { return "
|
26
|
+
const char* grpc_version_string(void) { return "18.0.0"; }
|
27
27
|
|
28
|
-
const char* grpc_g_stands_for(void) {
|
28
|
+
const char* grpc_g_stands_for(void) {
|
29
|
+
return "guadalupe_river_park_conservancy";
|
30
|
+
}
|
@@ -59,7 +59,7 @@ bool SliceBufferByteStream::Next(size_t /*max_size_hint*/,
|
|
59
59
|
return true;
|
60
60
|
}
|
61
61
|
|
62
|
-
|
62
|
+
grpc_error_handle SliceBufferByteStream::Pull(grpc_slice* slice) {
|
63
63
|
if (GPR_UNLIKELY(shutdown_error_ != GRPC_ERROR_NONE)) {
|
64
64
|
return GRPC_ERROR_REF(shutdown_error_);
|
65
65
|
}
|
@@ -67,7 +67,7 @@ grpc_error* SliceBufferByteStream::Pull(grpc_slice* slice) {
|
|
67
67
|
return GRPC_ERROR_NONE;
|
68
68
|
}
|
69
69
|
|
70
|
-
void SliceBufferByteStream::Shutdown(
|
70
|
+
void SliceBufferByteStream::Shutdown(grpc_error_handle error) {
|
71
71
|
GRPC_ERROR_UNREF(shutdown_error_);
|
72
72
|
shutdown_error_ = error;
|
73
73
|
}
|
@@ -117,7 +117,7 @@ bool ByteStreamCache::CachingByteStream::Next(size_t max_size_hint,
|
|
117
117
|
return cache_->underlying_stream_->Next(max_size_hint, on_complete);
|
118
118
|
}
|
119
119
|
|
120
|
-
|
120
|
+
grpc_error_handle ByteStreamCache::CachingByteStream::Pull(grpc_slice* slice) {
|
121
121
|
if (shutdown_error_ != GRPC_ERROR_NONE) {
|
122
122
|
return GRPC_ERROR_REF(shutdown_error_);
|
123
123
|
}
|
@@ -128,7 +128,7 @@ grpc_error* ByteStreamCache::CachingByteStream::Pull(grpc_slice* slice) {
|
|
128
128
|
return GRPC_ERROR_NONE;
|
129
129
|
}
|
130
130
|
GPR_ASSERT(cache_->underlying_stream_ != nullptr);
|
131
|
-
|
131
|
+
grpc_error_handle error = cache_->underlying_stream_->Pull(slice);
|
132
132
|
if (error == GRPC_ERROR_NONE) {
|
133
133
|
grpc_slice_buffer_add(&cache_->cache_buffer_,
|
134
134
|
grpc_slice_ref_internal(*slice));
|
@@ -142,7 +142,7 @@ grpc_error* ByteStreamCache::CachingByteStream::Pull(grpc_slice* slice) {
|
|
142
142
|
return error;
|
143
143
|
}
|
144
144
|
|
145
|
-
void ByteStreamCache::CachingByteStream::Shutdown(
|
145
|
+
void ByteStreamCache::CachingByteStream::Shutdown(grpc_error_handle error) {
|
146
146
|
GRPC_ERROR_UNREF(shutdown_error_);
|
147
147
|
shutdown_error_ = GRPC_ERROR_REF(error);
|
148
148
|
if (cache_->underlying_stream_ != nullptr) {
|
@@ -56,7 +56,7 @@ class ByteStream : public Orphanable {
|
|
56
56
|
// indicated by Next().
|
57
57
|
//
|
58
58
|
// Once a slice is returned into *slice, it is owned by the caller.
|
59
|
-
virtual
|
59
|
+
virtual grpc_error_handle Pull(grpc_slice* slice) = 0;
|
60
60
|
|
61
61
|
// Shuts down the byte stream.
|
62
62
|
//
|
@@ -65,7 +65,7 @@ class ByteStream : public Orphanable {
|
|
65
65
|
//
|
66
66
|
// The next call to Pull() (if any) will return the error passed to
|
67
67
|
// Shutdown().
|
68
|
-
virtual void Shutdown(
|
68
|
+
virtual void Shutdown(grpc_error_handle error) = 0;
|
69
69
|
|
70
70
|
uint32_t length() const { return length_; }
|
71
71
|
uint32_t flags() const { return flags_; }
|
@@ -97,11 +97,11 @@ class SliceBufferByteStream : public ByteStream {
|
|
97
97
|
void Orphan() override;
|
98
98
|
|
99
99
|
bool Next(size_t max_size_hint, grpc_closure* on_complete) override;
|
100
|
-
|
101
|
-
void Shutdown(
|
100
|
+
grpc_error_handle Pull(grpc_slice* slice) override;
|
101
|
+
void Shutdown(grpc_error_handle error) override;
|
102
102
|
|
103
103
|
private:
|
104
|
-
|
104
|
+
grpc_error_handle shutdown_error_ = GRPC_ERROR_NONE;
|
105
105
|
grpc_slice_buffer backing_buffer_;
|
106
106
|
};
|
107
107
|
|
@@ -131,8 +131,8 @@ class ByteStreamCache {
|
|
131
131
|
void Orphan() override;
|
132
132
|
|
133
133
|
bool Next(size_t max_size_hint, grpc_closure* on_complete) override;
|
134
|
-
|
135
|
-
void Shutdown(
|
134
|
+
grpc_error_handle Pull(grpc_slice* slice) override;
|
135
|
+
void Shutdown(grpc_error_handle error) override;
|
136
136
|
|
137
137
|
// Resets the byte stream to the start of the underlying stream.
|
138
138
|
void Reset();
|
@@ -141,7 +141,7 @@ class ByteStreamCache {
|
|
141
141
|
ByteStreamCache* cache_;
|
142
142
|
size_t cursor_ = 0;
|
143
143
|
size_t offset_ = 0;
|
144
|
-
|
144
|
+
grpc_error_handle shutdown_error_ = GRPC_ERROR_NONE;
|
145
145
|
};
|
146
146
|
|
147
147
|
explicit ByteStreamCache(OrphanablePtr<ByteStream> underlying_stream);
|
@@ -73,7 +73,7 @@ class AsyncConnectivityStateWatcherInterface::Notifier {
|
|
73
73
|
}
|
74
74
|
|
75
75
|
private:
|
76
|
-
static void SendNotification(void* arg,
|
76
|
+
static void SendNotification(void* arg, grpc_error_handle /*ignored*/) {
|
77
77
|
Notifier* self = static_cast<Notifier*>(arg);
|
78
78
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_connectivity_state_trace)) {
|
79
79
|
gpr_log(GPR_INFO, "watcher %p: delivering async notification for %s (%s)",
|
@@ -25,8 +25,8 @@
|
|
25
25
|
#include "src/core/lib/slice/slice_internal.h"
|
26
26
|
#include "src/core/lib/transport/status_conversion.h"
|
27
27
|
|
28
|
-
static
|
29
|
-
|
28
|
+
static grpc_error_handle recursively_find_error_with_field(
|
29
|
+
grpc_error_handle error, grpc_error_ints which) {
|
30
30
|
intptr_t unused;
|
31
31
|
// If the error itself has a status code, return it.
|
32
32
|
if (grpc_error_get_int(error, which, &unused)) {
|
@@ -38,14 +38,15 @@ static grpc_error* recursively_find_error_with_field(grpc_error* error,
|
|
38
38
|
while (slot != UINT8_MAX) {
|
39
39
|
grpc_linked_error* lerr =
|
40
40
|
reinterpret_cast<grpc_linked_error*>(error->arena + slot);
|
41
|
-
|
41
|
+
grpc_error_handle result =
|
42
|
+
recursively_find_error_with_field(lerr->err, which);
|
42
43
|
if (result) return result;
|
43
44
|
slot = lerr->next;
|
44
45
|
}
|
45
46
|
return nullptr;
|
46
47
|
}
|
47
48
|
|
48
|
-
void grpc_error_get_status(
|
49
|
+
void grpc_error_get_status(grpc_error_handle error, grpc_millis deadline,
|
49
50
|
grpc_status_code* code, grpc_slice* slice,
|
50
51
|
grpc_http2_error_code* http_error,
|
51
52
|
const char** error_string) {
|
@@ -71,9 +72,9 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
|
|
71
72
|
|
72
73
|
// Start with the parent error and recurse through the tree of children
|
73
74
|
// until we find the first one that has a status code.
|
74
|
-
|
75
|
+
grpc_error_handle found_error =
|
75
76
|
recursively_find_error_with_field(error, GRPC_ERROR_INT_GRPC_STATUS);
|
76
|
-
if (found_error ==
|
77
|
+
if (found_error == GRPC_ERROR_NONE) {
|
77
78
|
/// If no grpc-status exists, retry through the tree to find a http2 error
|
78
79
|
/// code
|
79
80
|
found_error =
|
@@ -82,7 +83,7 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
|
|
82
83
|
|
83
84
|
// If we found an error with a status code above, use that; otherwise,
|
84
85
|
// fall back to using the parent error.
|
85
|
-
if (found_error ==
|
86
|
+
if (found_error == GRPC_ERROR_NONE) found_error = error;
|
86
87
|
|
87
88
|
grpc_status_code status = GRPC_STATUS_UNKNOWN;
|
88
89
|
intptr_t integer;
|
@@ -96,7 +97,7 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
|
|
96
97
|
if (code != nullptr) *code = status;
|
97
98
|
|
98
99
|
if (error_string != nullptr && status != GRPC_STATUS_OK) {
|
99
|
-
*error_string = gpr_strdup(
|
100
|
+
*error_string = gpr_strdup(grpc_error_std_string(error).c_str());
|
100
101
|
}
|
101
102
|
|
102
103
|
if (http_error != nullptr) {
|
@@ -123,7 +124,7 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
|
|
123
124
|
}
|
124
125
|
}
|
125
126
|
|
126
|
-
absl::Status grpc_error_to_absl_status(
|
127
|
+
absl::Status grpc_error_to_absl_status(grpc_error_handle error) {
|
127
128
|
grpc_status_code status;
|
128
129
|
// TODO(yashykt): This should be updated once we decide on how to use the
|
129
130
|
// absl::Status payload to capture all the contents of grpc_error.
|
@@ -136,7 +137,17 @@ absl::Status grpc_error_to_absl_status(grpc_error* error) {
|
|
136
137
|
GRPC_SLICE_LENGTH(message)));
|
137
138
|
}
|
138
139
|
|
139
|
-
|
140
|
+
grpc_error_handle absl_status_to_grpc_error(absl::Status status) {
|
141
|
+
// Special error checks
|
142
|
+
if (status.ok()) {
|
143
|
+
return GRPC_ERROR_NONE;
|
144
|
+
}
|
145
|
+
return grpc_error_set_int(
|
146
|
+
GRPC_ERROR_CREATE_FROM_STRING_VIEW(status.message()),
|
147
|
+
GRPC_ERROR_INT_GRPC_STATUS, static_cast<grpc_status_code>(status.code()));
|
148
|
+
}
|
149
|
+
|
150
|
+
bool grpc_error_has_clear_grpc_status(grpc_error_handle error) {
|
140
151
|
intptr_t unused;
|
141
152
|
if (grpc_error_get_int(error, GRPC_ERROR_INT_GRPC_STATUS, &unused)) {
|
142
153
|
return true;
|
@@ -34,19 +34,25 @@
|
|
34
34
|
/// be populated with the entire error string. If any of the attributes (code,
|
35
35
|
/// msg, http_status, error_string) are unneeded, they can be passed as
|
36
36
|
/// NULL.
|
37
|
-
void grpc_error_get_status(
|
37
|
+
void grpc_error_get_status(grpc_error_handle error, grpc_millis deadline,
|
38
38
|
grpc_status_code* code, grpc_slice* slice,
|
39
39
|
grpc_http2_error_code* http_error,
|
40
40
|
const char** error_string);
|
41
41
|
|
42
|
-
/// Utility Function to convert a
|
43
|
-
/// Does NOT consume a ref to grpc_error.
|
44
|
-
absl::Status grpc_error_to_absl_status(
|
42
|
+
/// Utility Function to convert a grpc_error_handle \a error to an
|
43
|
+
/// absl::Status. Does NOT consume a ref to grpc_error.
|
44
|
+
absl::Status grpc_error_to_absl_status(grpc_error_handle error);
|
45
|
+
|
46
|
+
/// Utility function to convert an absl::Status \a status to grpc_error. Note
|
47
|
+
/// that this method does not return "special case" errors such as
|
48
|
+
/// GRPC_ERROR_CANCELLED, with the exception of GRPC_ERROR_NONE returned for
|
49
|
+
/// \a absl::OkStatus().
|
50
|
+
grpc_error_handle absl_status_to_grpc_error(absl::Status status);
|
45
51
|
|
46
52
|
/// A utility function to check whether there is a clear status code that
|
47
53
|
/// doesn't need to be guessed in \a error. This means that \a error or some
|
48
54
|
/// child has GRPC_ERROR_INT_GRPC_STATUS set, or that it is GRPC_ERROR_NONE or
|
49
55
|
/// GRPC_ERROR_CANCELLED
|
50
|
-
bool grpc_error_has_clear_grpc_status(
|
56
|
+
bool grpc_error_has_clear_grpc_status(grpc_error_handle error);
|
51
57
|
|
52
58
|
#endif /* GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H */
|
@@ -94,22 +94,23 @@ void grpc_metadata_batch_destroy(grpc_metadata_batch* batch) {
|
|
94
94
|
}
|
95
95
|
}
|
96
96
|
|
97
|
-
|
98
|
-
|
97
|
+
grpc_error_handle grpc_attach_md_to_error(grpc_error_handle src,
|
98
|
+
grpc_mdelem md) {
|
99
|
+
grpc_error_handle out = grpc_error_set_str(
|
99
100
|
grpc_error_set_str(src, GRPC_ERROR_STR_KEY,
|
100
101
|
grpc_slice_ref_internal(GRPC_MDKEY(md))),
|
101
102
|
GRPC_ERROR_STR_VALUE, grpc_slice_ref_internal(GRPC_MDVALUE(md)));
|
102
103
|
return out;
|
103
104
|
}
|
104
105
|
|
105
|
-
static
|
106
|
+
static grpc_error_handle GPR_ATTRIBUTE_NOINLINE error_with_md(grpc_mdelem md) {
|
106
107
|
return grpc_attach_md_to_error(
|
107
108
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Unallowed duplicate metadata"), md);
|
108
109
|
}
|
109
110
|
|
110
|
-
static
|
111
|
-
|
112
|
-
|
111
|
+
static grpc_error_handle link_callout(grpc_metadata_batch* batch,
|
112
|
+
grpc_linked_mdelem* storage,
|
113
|
+
grpc_metadata_batch_callouts_index idx) {
|
113
114
|
GPR_DEBUG_ASSERT(idx >= 0 && idx < GRPC_BATCH_CALLOUTS_COUNT);
|
114
115
|
if (GPR_LIKELY(batch->idx.array[idx] == nullptr)) {
|
115
116
|
++batch->list.default_count;
|
@@ -119,12 +120,12 @@ static grpc_error* link_callout(grpc_metadata_batch* batch,
|
|
119
120
|
return error_with_md(storage->md);
|
120
121
|
}
|
121
122
|
|
122
|
-
static
|
123
|
-
|
123
|
+
static grpc_error_handle maybe_link_callout(grpc_metadata_batch* batch,
|
124
|
+
grpc_linked_mdelem* storage)
|
124
125
|
GRPC_MUST_USE_RESULT;
|
125
126
|
|
126
|
-
static
|
127
|
-
|
127
|
+
static grpc_error_handle maybe_link_callout(grpc_metadata_batch* batch,
|
128
|
+
grpc_linked_mdelem* storage) {
|
128
129
|
grpc_metadata_batch_callouts_index idx =
|
129
130
|
GRPC_BATCH_INDEX_OF(GRPC_MDKEY(storage->md));
|
130
131
|
if (idx == GRPC_BATCH_CALLOUTS_COUNT) {
|
@@ -145,9 +146,9 @@ static void maybe_unlink_callout(grpc_metadata_batch* batch,
|
|
145
146
|
batch->idx.array[idx] = nullptr;
|
146
147
|
}
|
147
148
|
|
148
|
-
|
149
|
-
|
150
|
-
|
149
|
+
grpc_error_handle grpc_metadata_batch_add_head(grpc_metadata_batch* batch,
|
150
|
+
grpc_linked_mdelem* storage,
|
151
|
+
grpc_mdelem elem_to_add) {
|
151
152
|
GPR_DEBUG_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
152
153
|
storage->md = elem_to_add;
|
153
154
|
return grpc_metadata_batch_link_head(batch, storage);
|
@@ -169,10 +170,10 @@ static void link_head(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
|
|
169
170
|
assert_valid_list(list);
|
170
171
|
}
|
171
172
|
|
172
|
-
|
173
|
-
|
173
|
+
grpc_error_handle grpc_metadata_batch_link_head(grpc_metadata_batch* batch,
|
174
|
+
grpc_linked_mdelem* storage) {
|
174
175
|
assert_valid_callouts(batch);
|
175
|
-
|
176
|
+
grpc_error_handle err = maybe_link_callout(batch, storage);
|
176
177
|
if (err != GRPC_ERROR_NONE) {
|
177
178
|
assert_valid_callouts(batch);
|
178
179
|
return err;
|
@@ -185,12 +186,12 @@ grpc_error* grpc_metadata_batch_link_head(grpc_metadata_batch* batch,
|
|
185
186
|
// TODO(arjunroy): Need to revisit this and see what guarantees exist between
|
186
187
|
// C-core and the internal-metadata subsystem. E.g. can we ensure a particular
|
187
188
|
// metadata is never added twice, even in the presence of user supplied data?
|
188
|
-
|
189
|
+
grpc_error_handle grpc_metadata_batch_link_head(
|
189
190
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
190
191
|
grpc_metadata_batch_callouts_index idx) {
|
191
192
|
GPR_DEBUG_ASSERT(GRPC_BATCH_INDEX_OF(GRPC_MDKEY(storage->md)) == idx);
|
192
193
|
assert_valid_callouts(batch);
|
193
|
-
|
194
|
+
grpc_error_handle err = link_callout(batch, storage, idx);
|
194
195
|
if (GPR_UNLIKELY(err != GRPC_ERROR_NONE)) {
|
195
196
|
assert_valid_callouts(batch);
|
196
197
|
return err;
|
@@ -200,9 +201,9 @@ grpc_error* grpc_metadata_batch_link_head(
|
|
200
201
|
return GRPC_ERROR_NONE;
|
201
202
|
}
|
202
203
|
|
203
|
-
|
204
|
-
|
205
|
-
|
204
|
+
grpc_error_handle grpc_metadata_batch_add_tail(grpc_metadata_batch* batch,
|
205
|
+
grpc_linked_mdelem* storage,
|
206
|
+
grpc_mdelem elem_to_add) {
|
206
207
|
GPR_DEBUG_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
207
208
|
storage->md = elem_to_add;
|
208
209
|
return grpc_metadata_batch_link_tail(batch, storage);
|
@@ -224,10 +225,10 @@ static void link_tail(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
|
|
224
225
|
assert_valid_list(list);
|
225
226
|
}
|
226
227
|
|
227
|
-
|
228
|
-
|
228
|
+
grpc_error_handle grpc_metadata_batch_link_tail(grpc_metadata_batch* batch,
|
229
|
+
grpc_linked_mdelem* storage) {
|
229
230
|
assert_valid_callouts(batch);
|
230
|
-
|
231
|
+
grpc_error_handle err = maybe_link_callout(batch, storage);
|
231
232
|
if (err != GRPC_ERROR_NONE) {
|
232
233
|
assert_valid_callouts(batch);
|
233
234
|
return err;
|
@@ -237,12 +238,12 @@ grpc_error* grpc_metadata_batch_link_tail(grpc_metadata_batch* batch,
|
|
237
238
|
return GRPC_ERROR_NONE;
|
238
239
|
}
|
239
240
|
|
240
|
-
|
241
|
+
grpc_error_handle grpc_metadata_batch_link_tail(
|
241
242
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
242
243
|
grpc_metadata_batch_callouts_index idx) {
|
243
244
|
GPR_DEBUG_ASSERT(GRPC_BATCH_INDEX_OF(GRPC_MDKEY(storage->md)) == idx);
|
244
245
|
assert_valid_callouts(batch);
|
245
|
-
|
246
|
+
grpc_error_handle err = link_callout(batch, storage, idx);
|
246
247
|
if (GPR_UNLIKELY(err != GRPC_ERROR_NONE)) {
|
247
248
|
assert_valid_callouts(batch);
|
248
249
|
return err;
|
@@ -323,11 +324,11 @@ absl::optional<absl::string_view> grpc_metadata_batch_get_value(
|
|
323
324
|
return *concatenated_value;
|
324
325
|
}
|
325
326
|
|
326
|
-
|
327
|
-
|
328
|
-
|
327
|
+
grpc_error_handle grpc_metadata_batch_substitute(grpc_metadata_batch* batch,
|
328
|
+
grpc_linked_mdelem* storage,
|
329
|
+
grpc_mdelem new_mdelem) {
|
329
330
|
assert_valid_callouts(batch);
|
330
|
-
|
331
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
331
332
|
grpc_mdelem old_mdelem = storage->md;
|
332
333
|
if (!grpc_slice_eq(GRPC_MDKEY(new_mdelem), GRPC_MDKEY(old_mdelem))) {
|
333
334
|
maybe_unlink_callout(batch, storage);
|
@@ -364,7 +365,7 @@ size_t grpc_metadata_batch_size(grpc_metadata_batch* batch) {
|
|
364
365
|
return size;
|
365
366
|
}
|
366
367
|
|
367
|
-
static void add_error(
|
368
|
+
static void add_error(grpc_error_handle* composite, grpc_error_handle error,
|
368
369
|
const char* composite_error_string) {
|
369
370
|
if (error == GRPC_ERROR_NONE) return;
|
370
371
|
if (*composite == GRPC_ERROR_NONE) {
|
@@ -373,12 +374,11 @@ static void add_error(grpc_error** composite, grpc_error* error,
|
|
373
374
|
*composite = grpc_error_add_child(*composite, error);
|
374
375
|
}
|
375
376
|
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
const char* composite_error_string) {
|
377
|
+
grpc_error_handle grpc_metadata_batch_filter(
|
378
|
+
grpc_metadata_batch* batch, grpc_metadata_batch_filter_func func,
|
379
|
+
void* user_data, const char* composite_error_string) {
|
380
380
|
grpc_linked_mdelem* l = batch->list.head;
|
381
|
-
|
381
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
382
382
|
while (l) {
|
383
383
|
grpc_linked_mdelem* next = l->next;
|
384
384
|
grpc_filtered_mdelem new_mdelem = func(user_data, l->md);
|
@@ -402,7 +402,7 @@ void grpc_metadata_batch_copy(grpc_metadata_batch* src,
|
|
402
402
|
for (grpc_linked_mdelem* elem = src->list.head; elem != nullptr;
|
403
403
|
elem = elem->next) {
|
404
404
|
// Error unused in non-debug builds.
|
405
|
-
|
405
|
+
grpc_error_handle GRPC_UNUSED error = grpc_metadata_batch_add_tail(
|
406
406
|
dst, &storage[i++], GRPC_MDELEM_REF(elem->md));
|
407
407
|
// The only way that grpc_metadata_batch_add_tail() can fail is if
|
408
408
|
// there's a duplicate entry for a callout. However, that can't be
|
@@ -74,9 +74,9 @@ void grpc_metadata_batch_remove(grpc_metadata_batch* batch,
|
|
74
74
|
grpc_metadata_batch_callouts_index idx);
|
75
75
|
|
76
76
|
/** Substitute a new mdelem for an old value */
|
77
|
-
|
78
|
-
|
79
|
-
|
77
|
+
grpc_error_handle grpc_metadata_batch_substitute(grpc_metadata_batch* batch,
|
78
|
+
grpc_linked_mdelem* storage,
|
79
|
+
grpc_mdelem new_mdelem);
|
80
80
|
|
81
81
|
void grpc_metadata_batch_set_value(grpc_linked_mdelem* storage,
|
82
82
|
const grpc_slice& value);
|
@@ -97,10 +97,10 @@ absl::optional<absl::string_view> grpc_metadata_batch_get_value(
|
|
97
97
|
\a storage is owned by the caller and must survive for the
|
98
98
|
lifetime of batch. This usually means it should be around
|
99
99
|
for the lifetime of the call. */
|
100
|
-
|
101
|
-
|
100
|
+
grpc_error_handle grpc_metadata_batch_link_head(grpc_metadata_batch* batch,
|
101
|
+
grpc_linked_mdelem* storage)
|
102
102
|
GRPC_MUST_USE_RESULT;
|
103
|
-
|
103
|
+
grpc_error_handle grpc_metadata_batch_link_head(
|
104
104
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
105
105
|
grpc_metadata_batch_callouts_index idx) GRPC_MUST_USE_RESULT;
|
106
106
|
|
@@ -109,10 +109,10 @@ grpc_error* grpc_metadata_batch_link_head(
|
|
109
109
|
\a storage is owned by the caller and must survive for the
|
110
110
|
lifetime of batch. This usually means it should be around
|
111
111
|
for the lifetime of the call. */
|
112
|
-
|
113
|
-
|
112
|
+
grpc_error_handle grpc_metadata_batch_link_tail(grpc_metadata_batch* batch,
|
113
|
+
grpc_linked_mdelem* storage)
|
114
114
|
GRPC_MUST_USE_RESULT;
|
115
|
-
|
115
|
+
grpc_error_handle grpc_metadata_batch_link_tail(
|
116
116
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
117
117
|
grpc_metadata_batch_callouts_index idx) GRPC_MUST_USE_RESULT;
|
118
118
|
|
@@ -122,19 +122,19 @@ grpc_error* grpc_metadata_batch_link_tail(
|
|
122
122
|
lifetime of batch. This usually means it should be around
|
123
123
|
for the lifetime of the call.
|
124
124
|
Takes ownership of \a elem_to_add */
|
125
|
-
|
125
|
+
grpc_error_handle grpc_metadata_batch_add_head(
|
126
126
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
127
127
|
grpc_mdelem elem_to_add) GRPC_MUST_USE_RESULT;
|
128
128
|
|
129
129
|
// TODO(arjunroy, roth): Remove redundant methods.
|
130
130
|
// add/link_head/tail are almost identical.
|
131
|
-
inline
|
131
|
+
inline grpc_error_handle GRPC_MUST_USE_RESULT grpc_metadata_batch_add_head(
|
132
132
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
133
133
|
grpc_metadata_batch_callouts_index idx) {
|
134
134
|
return grpc_metadata_batch_link_head(batch, storage, idx);
|
135
135
|
}
|
136
136
|
|
137
|
-
inline
|
137
|
+
inline grpc_error_handle GRPC_MUST_USE_RESULT grpc_metadata_batch_add_head(
|
138
138
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
139
139
|
grpc_mdelem elem_to_add, grpc_metadata_batch_callouts_index idx) {
|
140
140
|
GPR_DEBUG_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
@@ -148,17 +148,17 @@ inline grpc_error* GRPC_MUST_USE_RESULT grpc_metadata_batch_add_head(
|
|
148
148
|
lifetime of batch. This usually means it should be around
|
149
149
|
for the lifetime of the call.
|
150
150
|
Takes ownership of \a elem_to_add */
|
151
|
-
|
151
|
+
grpc_error_handle grpc_metadata_batch_add_tail(
|
152
152
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
153
153
|
grpc_mdelem elem_to_add) GRPC_MUST_USE_RESULT;
|
154
154
|
|
155
|
-
inline
|
155
|
+
inline grpc_error_handle GRPC_MUST_USE_RESULT grpc_metadata_batch_add_tail(
|
156
156
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
157
157
|
grpc_metadata_batch_callouts_index idx) {
|
158
158
|
return grpc_metadata_batch_link_tail(batch, storage, idx);
|
159
159
|
}
|
160
160
|
|
161
|
-
inline
|
161
|
+
inline grpc_error_handle GRPC_MUST_USE_RESULT grpc_metadata_batch_add_tail(
|
162
162
|
grpc_metadata_batch* batch, grpc_linked_mdelem* storage,
|
163
163
|
grpc_mdelem elem_to_add, grpc_metadata_batch_callouts_index idx) {
|
164
164
|
GPR_DEBUG_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
@@ -166,10 +166,11 @@ inline grpc_error* GRPC_MUST_USE_RESULT grpc_metadata_batch_add_tail(
|
|
166
166
|
return grpc_metadata_batch_add_tail(batch, storage, idx);
|
167
167
|
}
|
168
168
|
|
169
|
-
|
169
|
+
grpc_error_handle grpc_attach_md_to_error(grpc_error_handle src,
|
170
|
+
grpc_mdelem md);
|
170
171
|
|
171
172
|
struct grpc_filtered_mdelem {
|
172
|
-
|
173
|
+
grpc_error_handle error;
|
173
174
|
grpc_mdelem md;
|
174
175
|
};
|
175
176
|
#define GRPC_FILTERED_ERROR(error) \
|
@@ -181,7 +182,7 @@ struct grpc_filtered_mdelem {
|
|
181
182
|
|
182
183
|
typedef grpc_filtered_mdelem (*grpc_metadata_batch_filter_func)(
|
183
184
|
void* user_data, grpc_mdelem elem);
|
184
|
-
|
185
|
+
grpc_error_handle grpc_metadata_batch_filter(
|
185
186
|
grpc_metadata_batch* batch, grpc_metadata_batch_filter_func func,
|
186
187
|
void* user_data, const char* composite_error_string) GRPC_MUST_USE_RESULT;
|
187
188
|
|