grpc 1.41.1 → 1.42.0.pre1
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 +55 -43
- data/include/grpc/event_engine/event_engine.h +82 -42
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
- data/include/grpc/event_engine/memory_allocator.h +210 -0
- data/include/grpc/grpc.h +4 -0
- data/include/grpc/grpc_security.h +18 -0
- data/include/grpc/grpc_security_constants.h +1 -0
- data/include/grpc/impl/codegen/port_platform.h +7 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +18 -19
- data/src/core/ext/filters/client_channel/backup_poller.cc +2 -1
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +71 -89
- data/src/core/ext/filters/client_channel/client_channel.cc +187 -252
- data/src/core/ext/filters/client_channel/client_channel.h +74 -27
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -14
- data/src/core/ext/filters/client_channel/config_selector.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +4 -5
- data/src/core/ext/filters/client_channel/connector.h +18 -18
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -1
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +0 -1
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +12 -11
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +4 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -15
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +166 -82
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +4 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -4
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +23 -7
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -10
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +6 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +8 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +7 -16
- data/src/core/ext/filters/client_channel/lb_policy.h +11 -1
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +11 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +12 -39
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +21 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +77 -68
- data/src/core/ext/filters/client_channel/resolver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver_factory.h +2 -0
- data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -8
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +1 -1
- data/src/core/ext/filters/client_channel/retry_filter.cc +48 -86
- data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
- data/src/core/ext/filters/client_channel/retry_throttle.cc +17 -48
- data/src/core/ext/filters/client_channel/server_address.h +1 -1
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +49 -36
- data/src/core/ext/filters/client_channel/subchannel.cc +85 -143
- data/src/core/ext/filters/client_channel/subchannel.h +29 -49
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +27 -210
- data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
- data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +23 -26
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -19
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +41 -44
- data/src/core/ext/filters/http/client_authority_filter.cc +14 -15
- data/src/core/ext/filters/http/http_filters_plugin.cc +53 -71
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +17 -12
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +72 -69
- data/src/core/ext/filters/max_age/max_age_filter.cc +24 -26
- data/src/core/ext/filters/message_size/message_size_filter.cc +19 -16
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/{filters/client_channel → service_config}/service_config.cc +2 -2
- data/src/core/ext/{filters/client_channel → service_config}/service_config.h +4 -4
- data/src/core/ext/service_config/service_config_call_data.h +72 -0
- data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.cc +3 -3
- data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.h +8 -6
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -5
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +19 -24
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +27 -50
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +14 -16
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +59 -58
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +19 -16
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +41 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +136 -98
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +27 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +12 -25
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +37 -30
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +30 -173
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +1 -1
- data/src/core/ext/transport/chttp2/transport/writing.cc +29 -22
- data/src/core/ext/transport/inproc/inproc_transport.cc +105 -109
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +68 -34
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +139 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +16 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +53 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +15 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +13 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +23 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +14 -11
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +17 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -12
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +49 -19
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -2
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
- data/src/core/ext/upb-generated/{udpa/type/v1 → xds/type/v3}/typed_struct.upb.c +7 -7
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +310 -286
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +101 -88
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +59 -56
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +59 -46
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +78 -82
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +323 -316
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +5 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +19 -23
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -3
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +5 -3
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +5 -4
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +13 -12
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +25 -24
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +16 -15
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +17 -16
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +33 -32
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +19 -18
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/xds/xds_api.cc +325 -362
- data/src/core/ext/xds/xds_api.h +134 -82
- data/src/core/ext/xds/xds_bootstrap.h +10 -0
- data/src/core/ext/xds/xds_certificate_provider.cc +3 -3
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
- data/src/core/ext/xds/xds_client.cc +527 -314
- data/src/core/ext/xds/xds_client.h +42 -37
- data/src/core/ext/xds/xds_client_stats.h +1 -1
- data/src/core/ext/xds/xds_server_config_fetcher.cc +5 -7
- data/src/core/lib/address_utils/parse_address.cc +2 -0
- data/src/core/lib/avl/avl.cc +5 -5
- data/src/core/lib/backoff/backoff.cc +1 -1
- data/src/core/lib/channel/channel_args.cc +24 -6
- data/src/core/lib/channel/channel_args.h +9 -0
- data/src/core/lib/channel/channel_stack_builder.cc +3 -3
- data/src/core/lib/channel/channel_trace.cc +1 -1
- data/src/core/lib/channel/channel_trace.h +1 -1
- data/src/core/lib/channel/channelz.cc +3 -3
- data/src/core/lib/channel/channelz.h +2 -2
- data/src/core/lib/channel/channelz_registry.cc +1 -1
- data/src/core/lib/channel/channelz_registry.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +1 -3
- data/src/core/lib/channel/connected_channel.h +1 -2
- data/src/core/lib/compression/compression.cc +2 -2
- data/src/core/lib/compression/compression_args.cc +6 -4
- data/src/core/lib/compression/compression_internal.cc +2 -2
- data/src/core/lib/compression/compression_internal.h +1 -1
- data/src/core/lib/config/core_configuration.cc +44 -2
- data/src/core/lib/config/core_configuration.h +39 -1
- data/src/core/lib/debug/stats.cc +1 -1
- data/src/core/lib/debug/stats_data.cc +13 -13
- data/src/core/lib/gpr/atm.cc +1 -1
- data/src/core/lib/gpr/cpu_posix.cc +1 -1
- data/src/core/lib/gpr/string.cc +2 -2
- data/src/core/lib/gpr/tls.h +1 -1
- data/src/core/lib/gpr/useful.h +79 -32
- data/src/core/lib/gprpp/arena.h +10 -0
- data/src/core/lib/gprpp/bitset.h +38 -16
- data/src/core/lib/gprpp/chunked_vector.h +211 -0
- data/src/core/lib/gprpp/construct_destruct.h +1 -1
- data/src/core/lib/gprpp/match.h +1 -1
- data/src/core/lib/gprpp/memory.h +6 -0
- data/src/core/lib/gprpp/overload.h +1 -1
- data/src/core/lib/gprpp/status_helper.cc +23 -3
- data/src/core/lib/gprpp/status_helper.h +12 -1
- data/src/core/lib/gprpp/table.h +411 -0
- data/src/core/lib/http/httpcli.cc +200 -182
- data/src/core/lib/http/parser.cc +2 -2
- data/src/core/lib/iomgr/call_combiner.cc +28 -10
- data/src/core/lib/iomgr/combiner.cc +6 -21
- data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -6
- data/src/core/lib/iomgr/error.cc +113 -52
- data/src/core/lib/iomgr/error.h +50 -9
- data/src/core/lib/iomgr/error_cfstream.cc +5 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -2
- data/src/core/lib/iomgr/ev_epollex_linux.cc +7 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +29 -20
- data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
- data/src/core/lib/iomgr/event_engine/closure.h +10 -1
- data/src/core/lib/iomgr/event_engine/endpoint.cc +3 -3
- data/src/core/lib/iomgr/event_engine/iomgr.cc +1 -1
- data/src/core/lib/iomgr/event_engine/pollset.cc +5 -4
- data/src/core/lib/iomgr/event_engine/resolver.cc +10 -7
- data/src/core/lib/iomgr/event_engine/tcp.cc +9 -8
- data/src/core/lib/iomgr/event_engine/timer.cc +7 -2
- data/src/core/lib/iomgr/exec_ctx.cc +1 -9
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +5 -7
- data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -8
- data/src/core/lib/iomgr/executor.cc +6 -20
- data/src/core/lib/iomgr/iomgr.cc +3 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +4 -9
- data/src/core/lib/iomgr/iomgr_internal.h +3 -2
- data/src/core/lib/iomgr/load_file.cc +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +18 -0
- data/src/core/lib/iomgr/pollset_custom.cc +1 -1
- data/src/core/lib/iomgr/pollset_custom.h +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +5 -7
- data/src/core/lib/iomgr/resource_quota.cc +13 -11
- data/src/core/lib/iomgr/socket_factory_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_mutator.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +5 -3
- data/src/core/lib/iomgr/tcp_client_custom.cc +1 -1
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -18
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -3
- data/src/core/lib/iomgr/tcp_posix.cc +4 -5
- data/src/core/lib/iomgr/tcp_server_custom.cc +2 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +4 -5
- data/src/core/lib/iomgr/tcp_windows.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +13 -13
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/json/json_util.cc +68 -0
- data/src/core/lib/json/json_util.h +57 -99
- data/src/core/lib/json/json_writer.cc +0 -3
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +14 -12
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +13 -1
- data/src/core/lib/security/context/security_context.cc +4 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/credentials.cc +4 -2
- data/src/core/lib/security/credentials/credentials.h +6 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +47 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -9
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/security_connector.cc +9 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -1
- data/src/core/lib/security/security_connector/ssl_utils.cc +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +1 -0
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -2
- data/src/core/lib/security/transport/client_auth_filter.cc +5 -5
- data/src/core/lib/security/transport/security_handshaker.cc +73 -43
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -5
- data/src/core/lib/security/transport/tsi_error.cc +3 -5
- data/src/core/lib/slice/slice.cc +0 -16
- data/src/core/lib/slice/slice_api.cc +39 -0
- data/src/core/lib/slice/slice_buffer.cc +5 -5
- data/src/core/lib/slice/slice_intern.cc +8 -13
- data/src/core/lib/slice/slice_internal.h +1 -244
- data/src/core/lib/slice/slice_refcount.cc +17 -0
- data/src/core/lib/slice/slice_refcount.h +121 -0
- data/src/core/lib/slice/slice_refcount_base.h +173 -0
- data/src/core/lib/slice/slice_split.cc +100 -0
- data/src/core/lib/slice/slice_split.h +40 -0
- data/src/core/lib/slice/slice_string_helpers.cc +0 -83
- data/src/core/lib/slice/slice_string_helpers.h +0 -11
- data/src/core/lib/slice/static_slice.cc +529 -0
- data/src/core/lib/slice/static_slice.h +331 -0
- data/src/core/lib/surface/builtins.cc +49 -0
- data/src/core/{ext/filters/workarounds/workaround_cronet_compression_filter.h → lib/surface/builtins.h} +8 -9
- data/src/core/lib/surface/call.cc +103 -120
- data/src/core/lib/surface/call.h +0 -6
- data/src/core/lib/surface/channel.cc +19 -32
- data/src/core/lib/surface/channel.h +0 -9
- data/src/core/lib/surface/channel_init.cc +23 -76
- data/src/core/lib/surface/channel_init.h +52 -44
- data/src/core/lib/surface/completion_queue.cc +6 -5
- data/src/core/lib/surface/init.cc +0 -39
- data/src/core/lib/surface/init_secure.cc +17 -14
- data/src/core/lib/surface/lame_client.cc +18 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +25 -17
- data/src/core/lib/surface/server.h +17 -10
- data/src/core/lib/surface/validate_metadata.cc +5 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +42 -17
- data/src/core/lib/transport/error_utils.h +1 -1
- data/src/core/lib/transport/metadata.cc +31 -10
- data/src/core/lib/transport/metadata.h +2 -1
- data/src/core/lib/transport/metadata_batch.cc +35 -371
- data/src/core/lib/transport/metadata_batch.h +905 -71
- data/src/core/lib/transport/parsed_metadata.h +263 -0
- data/src/core/lib/transport/pid_controller.cc +4 -4
- data/src/core/lib/transport/static_metadata.cc +714 -846
- data/src/core/lib/transport/static_metadata.h +115 -379
- data/src/core/lib/transport/status_metadata.cc +1 -0
- data/src/core/lib/transport/transport.cc +4 -5
- data/src/core/lib/transport/transport_op_string.cc +40 -20
- data/src/core/plugin_registry/grpc_plugin_registry.cc +64 -43
- data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -1
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +12 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
- data/src/core/tsi/fake_transport_security.cc +15 -7
- data/src/core/tsi/local_transport_security.cc +36 -73
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +16 -50
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -3
- data/src/core/tsi/ssl_transport_security.cc +10 -2
- data/src/core/tsi/transport_security.cc +12 -0
- data/src/core/tsi/transport_security.h +16 -1
- data/src/core/tsi/transport_security_interface.h +26 -0
- data/src/ruby/ext/grpc/extconf.rb +12 -9
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -6
- data/third_party/address_sorting/address_sorting_posix.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +20 -21
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +104 -114
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +0 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +72 -45
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +5 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +479 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -564
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +0 -1
- data/third_party/re2/re2/compile.cc +91 -109
- data/third_party/re2/re2/dfa.cc +27 -39
- data/third_party/re2/re2/filtered_re2.cc +18 -2
- data/third_party/re2/re2/filtered_re2.h +10 -5
- data/third_party/re2/re2/nfa.cc +1 -1
- data/third_party/re2/re2/parse.cc +42 -23
- data/third_party/re2/re2/perl_groups.cc +34 -34
- data/third_party/re2/re2/prefilter.cc +3 -2
- data/third_party/re2/re2/prog.cc +182 -4
- data/third_party/re2/re2/prog.h +28 -9
- data/third_party/re2/re2/re2.cc +87 -118
- data/third_party/re2/re2/re2.h +156 -141
- data/third_party/re2/re2/regexp.cc +12 -5
- data/third_party/re2/re2/regexp.h +8 -2
- data/third_party/re2/re2/set.cc +31 -9
- data/third_party/re2/re2/set.h +9 -4
- data/third_party/re2/re2/simplify.cc +11 -3
- data/third_party/re2/re2/tostring.cc +1 -1
- data/third_party/re2/re2/walker-inl.h +1 -1
- data/third_party/re2/util/mutex.h +2 -2
- data/third_party/re2/util/pcre.h +3 -3
- metadata +78 -66
- data/include/grpc/event_engine/slice_allocator.h +0 -71
- data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
- data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
- data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
- data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
- data/src/core/ext/transport/chttp2/client/authority.h +0 -36
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -67
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -130
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -83
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
- data/src/core/lib/iomgr/udp_server.cc +0 -747
- data/src/core/lib/iomgr/udp_server.h +0 -103
- data/src/core/lib/transport/authority_override.cc +0 -40
- data/src/core/lib/transport/authority_override.h +0 -37
data/third_party/re2/re2/re2.cc
CHANGED
@@ -83,6 +83,8 @@ static RE2::ErrorCode RegexpErrorToRE2(re2::RegexpStatusCode code) {
|
|
83
83
|
return RE2::ErrorMissingBracket;
|
84
84
|
case re2::kRegexpMissingParen:
|
85
85
|
return RE2::ErrorMissingParen;
|
86
|
+
case re2::kRegexpUnexpectedParen:
|
87
|
+
return RE2::ErrorUnexpectedParen;
|
86
88
|
case re2::kRegexpTrailingBackslash:
|
87
89
|
return RE2::ErrorTrailingBackslash;
|
88
90
|
case re2::kRegexpRepeatArgument:
|
@@ -799,7 +801,7 @@ bool RE2::Match(const StringPiece& text,
|
|
799
801
|
// it doesn't have the shared state and occasional mutex that
|
800
802
|
// the DFA does.
|
801
803
|
if (can_one_pass && text.size() <= 4096 &&
|
802
|
-
(ncap > 1 || text.size() <=
|
804
|
+
(ncap > 1 || text.size() <= 16)) {
|
803
805
|
skipped_test = true;
|
804
806
|
break;
|
805
807
|
}
|
@@ -1038,41 +1040,49 @@ bool RE2::Rewrite(std::string* out,
|
|
1038
1040
|
|
1039
1041
|
/***** Parsers for various types *****/
|
1040
1042
|
|
1041
|
-
|
1043
|
+
namespace re2_internal {
|
1044
|
+
|
1045
|
+
template <>
|
1046
|
+
bool Parse(const char* str, size_t n, void* dest) {
|
1042
1047
|
// We fail if somebody asked us to store into a non-NULL void* pointer
|
1043
1048
|
return (dest == NULL);
|
1044
1049
|
}
|
1045
1050
|
|
1046
|
-
|
1051
|
+
template <>
|
1052
|
+
bool Parse(const char* str, size_t n, std::string* dest) {
|
1047
1053
|
if (dest == NULL) return true;
|
1048
|
-
|
1054
|
+
dest->assign(str, n);
|
1049
1055
|
return true;
|
1050
1056
|
}
|
1051
1057
|
|
1052
|
-
|
1058
|
+
template <>
|
1059
|
+
bool Parse(const char* str, size_t n, StringPiece* dest) {
|
1053
1060
|
if (dest == NULL) return true;
|
1054
|
-
*
|
1061
|
+
*dest = StringPiece(str, n);
|
1055
1062
|
return true;
|
1056
1063
|
}
|
1057
1064
|
|
1058
|
-
|
1065
|
+
template <>
|
1066
|
+
bool Parse(const char* str, size_t n, char* dest) {
|
1059
1067
|
if (n != 1) return false;
|
1060
1068
|
if (dest == NULL) return true;
|
1061
|
-
*
|
1069
|
+
*dest = str[0];
|
1062
1070
|
return true;
|
1063
1071
|
}
|
1064
1072
|
|
1065
|
-
|
1073
|
+
template <>
|
1074
|
+
bool Parse(const char* str, size_t n, signed char* dest) {
|
1066
1075
|
if (n != 1) return false;
|
1067
1076
|
if (dest == NULL) return true;
|
1068
|
-
*
|
1077
|
+
*dest = str[0];
|
1069
1078
|
return true;
|
1070
1079
|
}
|
1071
1080
|
|
1072
|
-
|
1081
|
+
template <>
|
1082
|
+
bool Parse(const char* str, size_t n, unsigned char* dest) {
|
1073
1083
|
if (n != 1) return false;
|
1074
1084
|
if (dest == NULL) return true;
|
1075
|
-
*
|
1085
|
+
*dest = str[0];
|
1076
1086
|
return true;
|
1077
1087
|
}
|
1078
1088
|
|
@@ -1136,10 +1146,40 @@ static const char* TerminateNumber(char* buf, size_t nbuf, const char* str,
|
|
1136
1146
|
return buf;
|
1137
1147
|
}
|
1138
1148
|
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1149
|
+
template <>
|
1150
|
+
bool Parse(const char* str, size_t n, float* dest) {
|
1151
|
+
if (n == 0) return false;
|
1152
|
+
static const int kMaxLength = 200;
|
1153
|
+
char buf[kMaxLength+1];
|
1154
|
+
str = TerminateNumber(buf, sizeof buf, str, &n, true);
|
1155
|
+
char* end;
|
1156
|
+
errno = 0;
|
1157
|
+
float r = strtof(str, &end);
|
1158
|
+
if (end != str + n) return false; // Leftover junk
|
1159
|
+
if (errno) return false;
|
1160
|
+
if (dest == NULL) return true;
|
1161
|
+
*dest = r;
|
1162
|
+
return true;
|
1163
|
+
}
|
1164
|
+
|
1165
|
+
template <>
|
1166
|
+
bool Parse(const char* str, size_t n, double* dest) {
|
1167
|
+
if (n == 0) return false;
|
1168
|
+
static const int kMaxLength = 200;
|
1169
|
+
char buf[kMaxLength+1];
|
1170
|
+
str = TerminateNumber(buf, sizeof buf, str, &n, true);
|
1171
|
+
char* end;
|
1172
|
+
errno = 0;
|
1173
|
+
double r = strtod(str, &end);
|
1174
|
+
if (end != str + n) return false; // Leftover junk
|
1175
|
+
if (errno) return false;
|
1176
|
+
if (dest == NULL) return true;
|
1177
|
+
*dest = r;
|
1178
|
+
return true;
|
1179
|
+
}
|
1180
|
+
|
1181
|
+
template <>
|
1182
|
+
bool Parse(const char* str, size_t n, long* dest, int radix) {
|
1143
1183
|
if (n == 0) return false;
|
1144
1184
|
char buf[kMaxNumberLength+1];
|
1145
1185
|
str = TerminateNumber(buf, sizeof buf, str, &n, false);
|
@@ -1149,14 +1189,12 @@ bool RE2::Arg::parse_long_radix(const char* str,
|
|
1149
1189
|
if (end != str + n) return false; // Leftover junk
|
1150
1190
|
if (errno) return false;
|
1151
1191
|
if (dest == NULL) return true;
|
1152
|
-
*
|
1192
|
+
*dest = r;
|
1153
1193
|
return true;
|
1154
1194
|
}
|
1155
1195
|
|
1156
|
-
|
1157
|
-
|
1158
|
-
void* dest,
|
1159
|
-
int radix) {
|
1196
|
+
template <>
|
1197
|
+
bool Parse(const char* str, size_t n, unsigned long* dest, int radix) {
|
1160
1198
|
if (n == 0) return false;
|
1161
1199
|
char buf[kMaxNumberLength+1];
|
1162
1200
|
str = TerminateNumber(buf, sizeof buf, str, &n, false);
|
@@ -1172,62 +1210,52 @@ bool RE2::Arg::parse_ulong_radix(const char* str,
|
|
1172
1210
|
if (end != str + n) return false; // Leftover junk
|
1173
1211
|
if (errno) return false;
|
1174
1212
|
if (dest == NULL) return true;
|
1175
|
-
*
|
1213
|
+
*dest = r;
|
1176
1214
|
return true;
|
1177
1215
|
}
|
1178
1216
|
|
1179
|
-
|
1180
|
-
|
1181
|
-
void* dest,
|
1182
|
-
int radix) {
|
1217
|
+
template <>
|
1218
|
+
bool Parse(const char* str, size_t n, short* dest, int radix) {
|
1183
1219
|
long r;
|
1184
|
-
if (!
|
1185
|
-
if ((short)r != r) return false;
|
1220
|
+
if (!Parse(str, n, &r, radix)) return false; // Could not parse
|
1221
|
+
if ((short)r != r) return false; // Out of range
|
1186
1222
|
if (dest == NULL) return true;
|
1187
|
-
*
|
1223
|
+
*dest = (short)r;
|
1188
1224
|
return true;
|
1189
1225
|
}
|
1190
1226
|
|
1191
|
-
|
1192
|
-
|
1193
|
-
void* dest,
|
1194
|
-
int radix) {
|
1227
|
+
template <>
|
1228
|
+
bool Parse(const char* str, size_t n, unsigned short* dest, int radix) {
|
1195
1229
|
unsigned long r;
|
1196
|
-
if (!
|
1197
|
-
if ((unsigned short)r != r) return false;
|
1230
|
+
if (!Parse(str, n, &r, radix)) return false; // Could not parse
|
1231
|
+
if ((unsigned short)r != r) return false; // Out of range
|
1198
1232
|
if (dest == NULL) return true;
|
1199
|
-
*
|
1233
|
+
*dest = (unsigned short)r;
|
1200
1234
|
return true;
|
1201
1235
|
}
|
1202
1236
|
|
1203
|
-
|
1204
|
-
|
1205
|
-
void* dest,
|
1206
|
-
int radix) {
|
1237
|
+
template <>
|
1238
|
+
bool Parse(const char* str, size_t n, int* dest, int radix) {
|
1207
1239
|
long r;
|
1208
|
-
if (!
|
1209
|
-
if ((int)r != r) return false;
|
1240
|
+
if (!Parse(str, n, &r, radix)) return false; // Could not parse
|
1241
|
+
if ((int)r != r) return false; // Out of range
|
1210
1242
|
if (dest == NULL) return true;
|
1211
|
-
*
|
1243
|
+
*dest = (int)r;
|
1212
1244
|
return true;
|
1213
1245
|
}
|
1214
1246
|
|
1215
|
-
|
1216
|
-
|
1217
|
-
void* dest,
|
1218
|
-
int radix) {
|
1247
|
+
template <>
|
1248
|
+
bool Parse(const char* str, size_t n, unsigned int* dest, int radix) {
|
1219
1249
|
unsigned long r;
|
1220
|
-
if (!
|
1221
|
-
if ((unsigned int)r != r) return false;
|
1250
|
+
if (!Parse(str, n, &r, radix)) return false; // Could not parse
|
1251
|
+
if ((unsigned int)r != r) return false; // Out of range
|
1222
1252
|
if (dest == NULL) return true;
|
1223
|
-
*
|
1253
|
+
*dest = (unsigned int)r;
|
1224
1254
|
return true;
|
1225
1255
|
}
|
1226
1256
|
|
1227
|
-
|
1228
|
-
|
1229
|
-
void* dest,
|
1230
|
-
int radix) {
|
1257
|
+
template <>
|
1258
|
+
bool Parse(const char* str, size_t n, long long* dest, int radix) {
|
1231
1259
|
if (n == 0) return false;
|
1232
1260
|
char buf[kMaxNumberLength+1];
|
1233
1261
|
str = TerminateNumber(buf, sizeof buf, str, &n, false);
|
@@ -1237,14 +1265,12 @@ bool RE2::Arg::parse_longlong_radix(const char* str,
|
|
1237
1265
|
if (end != str + n) return false; // Leftover junk
|
1238
1266
|
if (errno) return false;
|
1239
1267
|
if (dest == NULL) return true;
|
1240
|
-
*
|
1268
|
+
*dest = r;
|
1241
1269
|
return true;
|
1242
1270
|
}
|
1243
1271
|
|
1244
|
-
|
1245
|
-
|
1246
|
-
void* dest,
|
1247
|
-
int radix) {
|
1272
|
+
template <>
|
1273
|
+
bool Parse(const char* str, size_t n, unsigned long long* dest, int radix) {
|
1248
1274
|
if (n == 0) return false;
|
1249
1275
|
char buf[kMaxNumberLength+1];
|
1250
1276
|
str = TerminateNumber(buf, sizeof buf, str, &n, false);
|
@@ -1259,68 +1285,11 @@ bool RE2::Arg::parse_ulonglong_radix(const char* str,
|
|
1259
1285
|
if (end != str + n) return false; // Leftover junk
|
1260
1286
|
if (errno) return false;
|
1261
1287
|
if (dest == NULL) return true;
|
1262
|
-
*
|
1263
|
-
return true;
|
1264
|
-
}
|
1265
|
-
|
1266
|
-
static bool parse_double_float(const char* str, size_t n, bool isfloat,
|
1267
|
-
void* dest) {
|
1268
|
-
if (n == 0) return false;
|
1269
|
-
static const int kMaxLength = 200;
|
1270
|
-
char buf[kMaxLength+1];
|
1271
|
-
str = TerminateNumber(buf, sizeof buf, str, &n, true);
|
1272
|
-
char* end;
|
1273
|
-
errno = 0;
|
1274
|
-
double r;
|
1275
|
-
if (isfloat) {
|
1276
|
-
r = strtof(str, &end);
|
1277
|
-
} else {
|
1278
|
-
r = strtod(str, &end);
|
1279
|
-
}
|
1280
|
-
if (end != str + n) return false; // Leftover junk
|
1281
|
-
if (errno) return false;
|
1282
|
-
if (dest == NULL) return true;
|
1283
|
-
if (isfloat) {
|
1284
|
-
*(reinterpret_cast<float*>(dest)) = (float)r;
|
1285
|
-
} else {
|
1286
|
-
*(reinterpret_cast<double*>(dest)) = r;
|
1287
|
-
}
|
1288
|
+
*dest = r;
|
1288
1289
|
return true;
|
1289
1290
|
}
|
1290
1291
|
|
1291
|
-
|
1292
|
-
return parse_double_float(str, n, false, dest);
|
1293
|
-
}
|
1294
|
-
|
1295
|
-
bool RE2::Arg::parse_float(const char* str, size_t n, void* dest) {
|
1296
|
-
return parse_double_float(str, n, true, dest);
|
1297
|
-
}
|
1298
|
-
|
1299
|
-
#define DEFINE_INTEGER_PARSER(name) \
|
1300
|
-
bool RE2::Arg::parse_##name(const char* str, size_t n, void* dest) { \
|
1301
|
-
return parse_##name##_radix(str, n, dest, 10); \
|
1302
|
-
} \
|
1303
|
-
bool RE2::Arg::parse_##name##_hex(const char* str, size_t n, void* dest) { \
|
1304
|
-
return parse_##name##_radix(str, n, dest, 16); \
|
1305
|
-
} \
|
1306
|
-
bool RE2::Arg::parse_##name##_octal(const char* str, size_t n, void* dest) { \
|
1307
|
-
return parse_##name##_radix(str, n, dest, 8); \
|
1308
|
-
} \
|
1309
|
-
bool RE2::Arg::parse_##name##_cradix(const char* str, size_t n, \
|
1310
|
-
void* dest) { \
|
1311
|
-
return parse_##name##_radix(str, n, dest, 0); \
|
1312
|
-
}
|
1313
|
-
|
1314
|
-
DEFINE_INTEGER_PARSER(short)
|
1315
|
-
DEFINE_INTEGER_PARSER(ushort)
|
1316
|
-
DEFINE_INTEGER_PARSER(int)
|
1317
|
-
DEFINE_INTEGER_PARSER(uint)
|
1318
|
-
DEFINE_INTEGER_PARSER(long)
|
1319
|
-
DEFINE_INTEGER_PARSER(ulong)
|
1320
|
-
DEFINE_INTEGER_PARSER(longlong)
|
1321
|
-
DEFINE_INTEGER_PARSER(ulonglong)
|
1322
|
-
|
1323
|
-
#undef DEFINE_INTEGER_PARSER
|
1292
|
+
} // namespace re2_internal
|
1324
1293
|
|
1325
1294
|
namespace hooks {
|
1326
1295
|
|