grpc 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +27 -36
- data/include/grpc/byte_buffer.h +1 -1
- data/include/grpc/byte_buffer_reader.h +1 -1
- data/include/grpc/event_engine/endpoint_config.h +6 -11
- data/include/grpc/event_engine/event_engine.h +63 -58
- data/include/grpc/event_engine/port.h +1 -3
- data/include/grpc/event_engine/slice_allocator.h +6 -1
- data/include/grpc/fork.h +1 -1
- data/include/grpc/grpc.h +10 -4
- data/include/grpc/grpc_posix.h +5 -2
- data/include/grpc/impl/codegen/atm.h +5 -3
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
- data/include/grpc/impl/codegen/atm_windows.h +2 -0
- data/include/grpc/impl/codegen/byte_buffer.h +2 -0
- data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
- data/include/grpc/impl/codegen/compression_types.h +2 -0
- data/include/grpc/impl/codegen/connectivity_state.h +2 -0
- data/include/grpc/impl/codegen/fork.h +2 -0
- data/include/grpc/impl/codegen/gpr_slice.h +2 -0
- data/include/grpc/impl/codegen/gpr_types.h +2 -0
- data/include/grpc/impl/codegen/grpc_types.h +4 -5
- data/include/grpc/impl/codegen/log.h +2 -0
- data/include/grpc/impl/codegen/port_platform.h +26 -22
- data/include/grpc/impl/codegen/propagation_bits.h +2 -0
- data/include/grpc/impl/codegen/slice.h +2 -0
- data/include/grpc/impl/codegen/status.h +2 -0
- data/include/grpc/impl/codegen/sync.h +8 -5
- data/include/grpc/impl/codegen/sync_abseil.h +2 -0
- data/include/grpc/impl/codegen/sync_custom.h +2 -0
- data/include/grpc/impl/codegen/sync_generic.h +3 -0
- data/include/grpc/impl/codegen/sync_posix.h +4 -2
- data/include/grpc/impl/codegen/sync_windows.h +2 -0
- data/include/grpc/slice.h +1 -1
- data/include/grpc/status.h +1 -1
- data/include/grpc/support/atm.h +1 -1
- data/include/grpc/support/atm_gcc_atomic.h +1 -1
- data/include/grpc/support/atm_gcc_sync.h +1 -1
- data/include/grpc/support/atm_windows.h +1 -1
- data/include/grpc/support/log.h +1 -1
- data/include/grpc/support/port_platform.h +1 -1
- data/include/grpc/support/sync.h +1 -1
- data/include/grpc/support/sync_abseil.h +1 -1
- data/include/grpc/support/sync_custom.h +1 -1
- data/include/grpc/support/sync_generic.h +1 -1
- data/include/grpc/support/sync_posix.h +1 -1
- data/include/grpc/support/sync_windows.h +1 -1
- data/include/grpc/support/time.h +2 -2
- data/src/core/ext/filters/census/grpc_context.cc +1 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +0 -1
- data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +1 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +24 -52
- data/src/core/ext/filters/client_channel/client_channel.h +3 -3
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -0
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -1
- data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +7 -6
- data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -3
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +8 -7
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -23
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +15 -18
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +10 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +11 -44
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -7
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +2 -10
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +6 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +14 -19
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +5 -8
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +2 -3
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +36 -30
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +8 -6
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +6 -13
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -2
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -1
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +7 -8
- data/src/core/ext/filters/http/server/http_server_filter.cc +5 -3
- data/src/core/ext/filters/message_size/message_size_filter.cc +9 -13
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +29 -12
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -0
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -3
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +10 -6
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +2 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +60 -37
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -6
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -1
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +2 -2
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +24 -30
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -1
- data/src/core/ext/transport/chttp2/transport/context_list.h +1 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +39 -23
- data/src/core/ext/transport/chttp2/transport/flow_control.h +9 -3
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +36 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +12 -7
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -0
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +272 -666
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +236 -70
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +776 -1037
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +48 -169
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +159 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +130 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.h +30 -0
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +20 -30
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/varint.cc +7 -3
- data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
- data/src/core/ext/transport/chttp2/transport/writing.cc +32 -28
- data/src/core/ext/transport/inproc/inproc_transport.cc +6 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +96 -96
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +221 -89
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +48 -48
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +151 -61
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +99 -99
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +171 -69
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +15 -15
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +126 -127
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +229 -101
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +82 -82
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +201 -81
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +24 -24
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +62 -62
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +131 -53
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +51 -51
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +81 -33
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +62 -62
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +141 -57
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +57 -22
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +174 -17
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -37
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +61 -25
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +40 -40
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +30 -30
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +81 -33
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +41 -29
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +141 -43
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +46 -43
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +88 -29
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +18 -18
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +281 -277
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +569 -248
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +115 -116
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +191 -77
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +46 -32
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +118 -34
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +44 -42
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +108 -55
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +42 -42
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +61 -25
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +41 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +9 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +11 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +15 -15
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +71 -29
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +19 -19
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +51 -21
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +21 -9
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +10 -10
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +31 -13
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +11 -5
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +1 -1
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +58 -58
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +111 -45
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +68 -68
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +121 -49
- data/src/core/ext/upb-generated/google/api/http.upb.c +18 -18
- data/src/core/ext/upb-generated/google/api/http.upb.h +31 -13
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +153 -153
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +271 -109
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +2 -2
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +31 -13
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +11 -5
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +19 -19
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +91 -37
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +5 -5
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +11 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +60 -60
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +101 -41
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -9
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +5 -5
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +21 -9
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +91 -37
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +8 -8
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +31 -13
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +13 -13
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +11 -5
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +11 -5
- data/src/core/ext/upb-generated/validate/validate.upb.c +220 -220
- data/src/core/ext/upb-generated/validate/validate.upb.h +231 -93
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +21 -9
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +11 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +11 -11
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +21 -9
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +11 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +384 -382
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +94 -63
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +30 -19
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +791 -780
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +96 -100
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +133 -115
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +178 -173
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +14 -13
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +103 -103
- data/src/core/ext/xds/certificate_provider_registry.cc +2 -2
- data/src/core/ext/xds/xds_api.cc +788 -910
- data/src/core/ext/xds/xds_api.h +16 -33
- data/src/core/ext/xds/xds_bootstrap.cc +27 -52
- data/src/core/ext/xds/xds_client.cc +69 -30
- data/src/core/ext/xds/xds_client_stats.cc +16 -15
- data/src/core/ext/xds/xds_client_stats.h +6 -6
- data/src/core/ext/xds/xds_http_fault_filter.cc +4 -3
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -2
- data/src/core/ext/xds/xds_http_filters.cc +1 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +10 -10
- data/src/core/lib/address_utils/parse_address.cc +4 -8
- data/src/core/lib/address_utils/sockaddr_utils.cc +2 -2
- data/src/core/lib/channel/channel_args.cc +2 -1
- data/src/core/lib/channel/channel_stack.cc +5 -3
- data/src/core/lib/channel/channel_stack_builder.cc +1 -11
- data/src/core/lib/channel/channel_stack_builder.h +0 -8
- data/src/core/lib/channel/channel_trace.cc +4 -3
- data/src/core/lib/channel/channel_trace.h +1 -0
- data/src/core/lib/channel/channelz.cc +40 -36
- data/src/core/lib/channel/channelz.h +27 -27
- data/src/core/lib/channel/channelz_registry.cc +7 -6
- data/src/core/lib/channel/connected_channel.cc +1 -0
- data/src/core/lib/channel/handshaker.cc +2 -1
- data/src/core/lib/channel/handshaker.h +1 -2
- data/src/core/lib/channel/handshaker_factory.h +10 -2
- data/src/core/lib/channel/handshaker_registry.cc +15 -70
- data/src/core/lib/channel/handshaker_registry.h +29 -12
- data/src/core/lib/channel/status_util.h +2 -2
- data/src/core/lib/compression/algorithm_metadata.h +1 -0
- data/src/core/lib/compression/compression_args.cc +2 -1
- data/src/core/lib/compression/compression_internal.cc +2 -4
- data/src/core/lib/compression/message_compress.cc +2 -2
- data/src/core/lib/compression/stream_compression.cc +2 -1
- data/src/core/lib/compression/stream_compression.h +2 -1
- data/src/core/lib/compression/stream_compression_gzip.cc +2 -1
- data/src/core/lib/compression/stream_compression_identity.cc +2 -1
- data/src/core/lib/config/core_configuration.cc +54 -0
- data/src/core/lib/config/core_configuration.h +108 -0
- data/src/core/lib/debug/stats.h +1 -0
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/stats_data.h +1 -0
- data/src/core/lib/debug/trace.cc +1 -0
- data/src/core/lib/debug/trace.h +2 -1
- data/src/core/lib/event_engine/endpoint_config.cc +0 -1
- data/src/core/lib/event_engine/event_engine.cc +3 -3
- data/src/core/lib/event_engine/sockaddr.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +4 -3
- data/src/core/lib/gpr/env_linux.cc +1 -2
- data/src/core/lib/gpr/env_posix.cc +2 -3
- data/src/core/lib/gpr/log.cc +3 -3
- data/src/core/lib/gpr/log_android.cc +3 -2
- data/src/core/lib/gpr/log_linux.cc +7 -4
- data/src/core/lib/gpr/log_posix.cc +6 -3
- data/src/core/lib/gpr/string.h +2 -2
- data/src/core/lib/gpr/sync.cc +2 -2
- data/src/core/lib/gpr/sync_abseil.cc +7 -6
- data/src/core/lib/gpr/sync_posix.cc +3 -3
- data/src/core/lib/gpr/time.cc +3 -2
- data/src/core/lib/gpr/time_windows.cc +3 -2
- data/src/core/lib/gpr/tls.h +120 -41
- data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
- data/src/core/lib/gprpp/arena.cc +2 -1
- data/src/core/lib/gprpp/arena.h +5 -5
- data/src/core/lib/gprpp/atomic_utils.h +47 -0
- data/src/core/lib/gprpp/bitset.h +166 -0
- data/src/core/lib/gprpp/construct_destruct.h +39 -0
- data/src/core/lib/gprpp/dual_ref_counted.h +25 -26
- data/src/core/lib/gprpp/fork.cc +14 -12
- data/src/core/lib/gprpp/fork.h +4 -4
- data/src/core/lib/gprpp/global_config.h +1 -2
- data/src/core/lib/gprpp/global_config_env.cc +7 -7
- data/src/core/lib/gprpp/global_config_generic.h +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +8 -5
- data/src/core/lib/gprpp/match.h +73 -0
- data/src/core/lib/gprpp/memory.h +3 -3
- data/src/core/lib/gprpp/mpscq.cc +7 -7
- data/src/core/lib/gprpp/mpscq.h +6 -5
- data/src/core/lib/gprpp/orphanable.h +3 -3
- data/src/core/lib/gprpp/overload.h +59 -0
- data/src/core/lib/gprpp/ref_counted.h +18 -18
- data/src/core/lib/gprpp/status_helper.cc +4 -4
- data/src/core/lib/gprpp/sync.h +3 -1
- data/src/core/lib/gprpp/thd_posix.cc +5 -5
- data/src/core/lib/gprpp/thd_windows.cc +4 -11
- data/src/core/lib/gprpp/time_util.cc +2 -2
- data/src/core/lib/gprpp/time_util.h +2 -2
- data/src/core/lib/http/format_request.cc +1 -0
- data/src/core/lib/http/format_request.h +1 -0
- data/src/core/lib/http/httpcli.cc +9 -9
- data/src/core/lib/http/httpcli.h +3 -0
- data/src/core/lib/http/httpcli_security_connector.cc +5 -8
- data/src/core/lib/http/parser.h +1 -0
- data/src/core/lib/iomgr/buffer_list.cc +2 -1
- data/src/core/lib/iomgr/buffer_list.h +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +1 -0
- data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
- data/src/core/lib/iomgr/combiner.cc +3 -2
- data/src/core/lib/iomgr/combiner.h +1 -0
- data/src/core/lib/iomgr/dualstack_socket_posix.cc +1 -0
- data/src/core/lib/iomgr/endpoint.cc +0 -4
- data/src/core/lib/iomgr/endpoint.h +1 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +9 -20
- data/src/core/lib/iomgr/endpoint_cfstream.h +1 -1
- data/src/core/lib/iomgr/endpoint_pair.h +1 -0
- data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +1 -2
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +15 -11
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +17 -9
- data/src/core/lib/iomgr/error.h +23 -9
- data/src/core/lib/iomgr/error_cfstream.cc +2 -2
- data/src/core/lib/iomgr/error_internal.h +1 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +14 -22
- data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -22
- data/src/core/lib/iomgr/ev_poll_posix.cc +13 -25
- data/src/core/lib/iomgr/ev_posix.cc +1 -2
- data/src/core/lib/iomgr/event_engine/endpoint.cc +3 -22
- data/src/core/lib/iomgr/event_engine/endpoint.h +1 -2
- data/src/core/lib/iomgr/event_engine/iomgr.cc +17 -18
- data/src/core/lib/iomgr/event_engine/iomgr.h +20 -2
- data/src/core/lib/iomgr/event_engine/resolver.cc +2 -1
- data/src/core/lib/iomgr/event_engine/tcp.cc +53 -24
- data/src/core/lib/iomgr/exec_ctx.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.h +11 -19
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +10 -9
- data/src/core/lib/iomgr/executor/mpmcqueue.h +4 -3
- data/src/core/lib/iomgr/executor/threadpool.cc +2 -2
- data/src/core/lib/iomgr/executor/threadpool.h +2 -1
- data/src/core/lib/iomgr/executor.cc +5 -6
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
- data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
- data/src/core/lib/iomgr/iocp_windows.cc +1 -0
- data/src/core/lib/iomgr/iomgr.h +2 -2
- data/src/core/lib/iomgr/iomgr_custom.cc +2 -2
- data/src/core/lib/iomgr/iomgr_custom.h +2 -2
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -2
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +4 -4
- data/src/core/lib/iomgr/polling_entity.cc +2 -2
- data/src/core/lib/iomgr/pollset_custom.cc +3 -4
- data/src/core/lib/iomgr/pollset_custom.h +2 -2
- data/src/core/lib/iomgr/pollset_set_custom.cc +1 -2
- data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
- data/src/core/lib/iomgr/port.h +0 -5
- data/src/core/lib/iomgr/python_util.h +1 -0
- data/src/core/lib/iomgr/resolve_address.cc +2 -1
- data/src/core/lib/iomgr/resolve_address.h +0 -4
- data/src/core/lib/iomgr/resolve_address_custom.cc +4 -4
- data/src/core/lib/iomgr/resolve_address_custom.h +0 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +2 -4
- data/src/core/lib/iomgr/resolve_address_windows.cc +6 -8
- data/src/core/lib/iomgr/resource_quota.cc +127 -42
- data/src/core/lib/iomgr/resource_quota.h +66 -17
- data/src/core/lib/iomgr/sockaddr.h +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +3 -3
- data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
- data/src/core/lib/iomgr/socket_mutator.h +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -3
- data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
- data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
- data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_client.cc +4 -2
- data/src/core/lib/iomgr/tcp_client.h +4 -0
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -19
- data/src/core/lib/iomgr/tcp_client_custom.cc +9 -17
- data/src/core/lib/iomgr/tcp_client_posix.cc +24 -9
- data/src/core/lib/iomgr/tcp_client_posix.h +5 -2
- data/src/core/lib/iomgr/tcp_client_windows.cc +14 -6
- data/src/core/lib/iomgr/tcp_custom.cc +11 -23
- data/src/core/lib/iomgr/tcp_custom.h +2 -1
- data/src/core/lib/iomgr/tcp_posix.cc +29 -59
- data/src/core/lib/iomgr/tcp_posix.h +11 -12
- data/src/core/lib/iomgr/tcp_server.cc +6 -4
- data/src/core/lib/iomgr/tcp_server.h +12 -9
- data/src/core/lib/iomgr/tcp_server_custom.cc +15 -33
- data/src/core/lib/iomgr/tcp_server_posix.cc +20 -13
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +3 -4
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +13 -9
- data/src/core/lib/iomgr/tcp_windows.cc +6 -25
- data/src/core/lib/iomgr/tcp_windows.h +2 -1
- data/src/core/lib/iomgr/timer.cc +1 -0
- data/src/core/lib/iomgr/timer.h +1 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +8 -38
- data/src/core/lib/iomgr/timer_generic.h +1 -0
- data/src/core/lib/iomgr/timer_heap.cc +1 -2
- data/src/core/lib/iomgr/udp_server.cc +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -5
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +1 -0
- data/src/core/lib/iomgr/work_serializer.cc +4 -4
- data/src/core/lib/iomgr/work_serializer.h +1 -1
- data/src/core/lib/json/json_reader.cc +9 -17
- data/src/core/lib/json/json_util.h +18 -26
- data/src/core/lib/matchers/matchers.h +0 -1
- data/src/core/lib/profiling/basic_timers.cc +8 -6
- data/src/core/lib/profiling/stap_timers.cc +2 -2
- data/src/core/lib/security/authorization/authorization_policy_provider.h +5 -4
- data/src/core/lib/security/authorization/evaluate_args.cc +2 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +159 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
- data/src/core/lib/security/context/security_context.cc +7 -6
- data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -3
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -3
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +13 -26
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -2
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +3 -3
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +13 -22
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -4
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +55 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +31 -14
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +3 -7
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +4 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +10 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +2 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -5
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -6
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +3 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -7
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -3
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +9 -14
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +4 -6
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -14
- data/src/core/lib/security/transport/secure_endpoint.h +1 -0
- data/src/core/lib/security/transport/security_handshaker.cc +5 -4
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/security/util/json_util.cc +6 -8
- data/src/core/lib/slice/percent_encoding.cc +73 -30
- data/src/core/lib/slice/percent_encoding.h +29 -28
- data/src/core/lib/slice/slice.cc +2 -3
- data/src/core/lib/slice/slice_buffer.cc +1 -2
- data/src/core/lib/slice/slice_intern.cc +2 -3
- data/src/core/lib/slice/slice_internal.h +2 -2
- data/src/core/lib/surface/api_trace.cc +2 -1
- data/src/core/lib/surface/api_trace.h +1 -0
- data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
- data/src/core/lib/surface/call.cc +9 -8
- data/src/core/lib/surface/call.h +3 -3
- data/src/core/lib/surface/call_details.cc +2 -2
- data/src/core/lib/surface/call_log_batch.cc +2 -2
- data/src/core/lib/surface/channel.cc +22 -9
- data/src/core/lib/surface/channel.h +14 -2
- data/src/core/lib/surface/channel_ping.cc +1 -2
- data/src/core/lib/surface/channel_stack_type.cc +2 -1
- data/src/core/lib/surface/completion_queue.cc +54 -64
- data/src/core/lib/surface/completion_queue_factory.cc +2 -1
- data/src/core/lib/surface/completion_queue_factory.h +1 -0
- data/src/core/lib/surface/event_string.cc +1 -0
- data/src/core/lib/surface/init.cc +4 -9
- data/src/core/lib/surface/init.h +0 -1
- data/src/core/lib/surface/init_secure.cc +23 -4
- data/src/core/lib/surface/lame_client.cc +6 -5
- data/src/core/lib/surface/metadata_array.cc +2 -2
- data/src/core/lib/surface/server.cc +17 -33
- data/src/core/lib/surface/server.h +11 -13
- data/src/core/lib/surface/validate_metadata.cc +44 -16
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/byte_stream.h +1 -0
- data/src/core/lib/transport/connectivity_state.cc +8 -5
- data/src/core/lib/transport/connectivity_state.h +2 -2
- data/src/core/lib/transport/error_utils.cc +1 -0
- data/src/core/lib/transport/metadata.cc +10 -10
- data/src/core/lib/transport/metadata.h +13 -11
- data/src/core/lib/transport/metadata_batch.h +8 -0
- data/src/core/lib/transport/transport_op_string.cc +2 -2
- data/src/core/plugin_registry/grpc_plugin_registry.cc +14 -0
- data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -2
- data/src/core/tsi/alts/crypt/gsec.h +2 -3
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
- data/src/core/tsi/ssl_transport_security.cc +11 -9
- data/src/core/tsi/ssl_transport_security.h +3 -1
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_grpc.h +1 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
- data/src/ruby/ext/grpc/rb_call.c +5 -5
- data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
- data/src/ruby/ext/grpc/rb_channel.c +10 -8
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
- data/src/ruby/ext/grpc/rb_channel_credentials.c +4 -4
- data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
- data/src/ruby/ext/grpc/rb_compression_options.c +5 -4
- data/src/ruby/ext/grpc/rb_event_thread.c +4 -4
- data/src/ruby/ext/grpc/rb_grpc.c +5 -4
- data/src/ruby/ext/grpc/rb_grpc.h +1 -0
- data/src/ruby/ext/grpc/rb_server.c +6 -5
- data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +8 -5
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +3 -1
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +6 -5
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +3 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/err_data.c +294 -292
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +52 -47
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_locl.h → internal.h} +20 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +1 -1
- 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/asn1/tasn_new.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +5 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +5 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +23 -2
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +45 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +6 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +160 -74
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +25 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +5 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +58 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +184 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +0 -5
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +9 -16
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +44 -2
- data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +24 -11
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +75 -68
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +17 -9
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +25 -6
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +1 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +11 -5
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +0 -49
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +121 -65
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +14 -6
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +9 -11
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +2 -2
- data/third_party/upb/upb/decode.c +129 -60
- data/third_party/upb/upb/decode.h +32 -4
- data/third_party/upb/upb/decode_fast.c +513 -500
- data/third_party/upb/upb/decode_fast.h +27 -0
- data/third_party/upb/upb/{decode.int.h → decode_internal.h} +38 -8
- data/third_party/upb/upb/def.c +171 -181
- data/third_party/upb/upb/def.h +41 -19
- data/third_party/upb/upb/def.hpp +29 -0
- data/third_party/upb/upb/encode.c +49 -16
- data/third_party/upb/upb/encode.h +29 -2
- data/third_party/upb/upb/msg.c +169 -28
- data/third_party/upb/upb/msg.h +75 -580
- data/third_party/upb/upb/msg_internal.h +687 -0
- data/third_party/upb/upb/port_def.inc +85 -24
- data/third_party/upb/upb/port_undef.inc +38 -1
- data/third_party/upb/upb/reflection.c +29 -37
- data/third_party/upb/upb/reflection.h +36 -8
- data/third_party/upb/upb/reflection.hpp +37 -0
- data/third_party/upb/upb/table.c +211 -86
- data/third_party/upb/upb/{table.int.h → table_internal.h} +56 -180
- data/third_party/upb/upb/text_encode.c +32 -4
- data/third_party/upb/upb/text_encode.h +26 -0
- data/third_party/upb/upb/upb.c +59 -8
- data/third_party/upb/upb/upb.h +36 -6
- data/third_party/upb/upb/upb.hpp +24 -0
- data/third_party/upb/upb/upb_internal.h +58 -0
- metadata +58 -56
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -243
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
- data/src/core/lib/gpr/tls_gcc.h +0 -52
- data/src/core/lib/gpr/tls_msvc.h +0 -54
- data/src/core/lib/gpr/tls_pthread.cc +0 -30
- data/src/core/lib/gpr/tls_pthread.h +0 -56
- data/src/core/lib/gpr/tls_stdcpp.h +0 -48
- data/src/core/lib/gprpp/atomic.h +0 -104
- data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
- data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
- data/src/core/lib/iomgr/pollset_uv.cc +0 -95
- data/src/core/lib/iomgr/pollset_uv.h +0 -36
- data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
- data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
- data/src/core/lib/iomgr/tcp_uv.cc +0 -421
- data/src/core/lib/iomgr/timer_uv.cc +0 -66
- data/third_party/upb/third_party/wyhash/wyhash.h +0 -145
- data/third_party/upb/upb/upb.int.h +0 -29
@@ -14,13 +14,12 @@
|
|
14
14
|
#include <grpc/support/port_platform.h>
|
15
15
|
|
16
16
|
#ifdef GRPC_USE_EVENT_ENGINE
|
17
|
-
#include "src/core/lib/iomgr/port.h"
|
18
|
-
|
19
17
|
#include <stdlib.h>
|
20
18
|
|
21
19
|
#include <grpc/support/log.h>
|
22
20
|
|
23
21
|
#include "src/core/lib/iomgr/endpoint_pair.h"
|
22
|
+
#include "src/core/lib/iomgr/port.h"
|
24
23
|
|
25
24
|
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
|
26
25
|
const char* /* name */, grpc_channel_args* /* args */) {
|
@@ -22,10 +22,6 @@
|
|
22
22
|
|
23
23
|
#ifdef GRPC_POSIX_SOCKET_TCP
|
24
24
|
|
25
|
-
#include "src/core/lib/iomgr/endpoint_pair.h"
|
26
|
-
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
27
|
-
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
28
|
-
|
29
25
|
#include <errno.h>
|
30
26
|
#include <fcntl.h>
|
31
27
|
#include <string.h>
|
@@ -38,8 +34,12 @@
|
|
38
34
|
|
39
35
|
#include <grpc/support/alloc.h>
|
40
36
|
#include <grpc/support/log.h>
|
37
|
+
|
41
38
|
#include "src/core/lib/gpr/string.h"
|
39
|
+
#include "src/core/lib/iomgr/endpoint_pair.h"
|
40
|
+
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
42
41
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
42
|
+
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
43
43
|
|
44
44
|
static void create_sockets(int sv[2]) {
|
45
45
|
int flags;
|
@@ -57,16 +57,20 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name,
|
|
57
57
|
int sv[2];
|
58
58
|
grpc_endpoint_pair p;
|
59
59
|
create_sockets(sv);
|
60
|
-
|
61
60
|
grpc_core::ExecCtx exec_ctx;
|
62
|
-
|
63
61
|
std::string final_name = absl::StrCat(name, ":client");
|
64
|
-
|
65
|
-
|
62
|
+
grpc_resource_quota* resource_quota =
|
63
|
+
grpc_resource_quota_from_channel_args(args, true);
|
64
|
+
p.client = grpc_tcp_create(
|
65
|
+
grpc_fd_create(sv[1], final_name.c_str(), false), args,
|
66
|
+
"socketpair-server",
|
67
|
+
grpc_slice_allocator_create(resource_quota, "server_endpoint", args));
|
66
68
|
final_name = absl::StrCat(name, ":server");
|
67
|
-
p.server = grpc_tcp_create(
|
68
|
-
|
69
|
-
|
69
|
+
p.server = grpc_tcp_create(
|
70
|
+
grpc_fd_create(sv[0], final_name.c_str(), false), args,
|
71
|
+
"socketpair-client",
|
72
|
+
grpc_slice_allocator_create(resource_quota, "client_endpoint", args));
|
73
|
+
grpc_resource_quota_unref_internal(resource_quota);
|
70
74
|
return p;
|
71
75
|
}
|
72
76
|
|
@@ -21,15 +21,15 @@
|
|
21
21
|
#include "src/core/lib/iomgr/port.h"
|
22
22
|
|
23
23
|
#ifdef GRPC_WINSOCK_SOCKET
|
24
|
-
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
25
|
-
#include "src/core/lib/iomgr/endpoint_pair.h"
|
26
|
-
#include "src/core/lib/iomgr/sockaddr.h"
|
27
|
-
|
28
24
|
#include <errno.h>
|
29
25
|
#include <fcntl.h>
|
30
26
|
#include <string.h>
|
31
27
|
|
32
28
|
#include <grpc/support/log.h>
|
29
|
+
|
30
|
+
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
31
|
+
#include "src/core/lib/iomgr/endpoint_pair.h"
|
32
|
+
#include "src/core/lib/iomgr/sockaddr.h"
|
33
33
|
#include "src/core/lib/iomgr/socket_windows.h"
|
34
34
|
#include "src/core/lib/iomgr/tcp_windows.h"
|
35
35
|
|
@@ -76,11 +76,19 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
|
|
76
76
|
grpc_endpoint_pair p;
|
77
77
|
create_sockets(sv);
|
78
78
|
grpc_core::ExecCtx exec_ctx;
|
79
|
-
|
80
|
-
|
81
|
-
p.
|
82
|
-
|
83
|
-
|
79
|
+
grpc_resource_quota* resource_quota =
|
80
|
+
grpc_resource_quota_from_channel_args(channel_args, true);
|
81
|
+
p.client =
|
82
|
+
grpc_tcp_create(grpc_winsocket_create(sv[1], "endpoint:client"),
|
83
|
+
channel_args, "endpoint:server",
|
84
|
+
grpc_slice_allocator_create(
|
85
|
+
resource_quota, "endpoint:server", channel_args));
|
86
|
+
p.server =
|
87
|
+
grpc_tcp_create(grpc_winsocket_create(sv[0], "endpoint:server"),
|
88
|
+
channel_args, "endpoint:client",
|
89
|
+
grpc_slice_allocator_create(
|
90
|
+
resource_quota, "endpoint:client", channel_args));
|
91
|
+
grpc_resource_quota_unref_internal(resource_quota);
|
84
92
|
return p;
|
85
93
|
}
|
86
94
|
|
data/src/core/lib/iomgr/error.h
CHANGED
@@ -24,6 +24,8 @@
|
|
24
24
|
#include <inttypes.h>
|
25
25
|
#include <stdbool.h>
|
26
26
|
|
27
|
+
#include "absl/status/status.h"
|
28
|
+
|
27
29
|
#include <grpc/slice.h>
|
28
30
|
#include <grpc/status.h>
|
29
31
|
#include <grpc/support/log.h>
|
@@ -31,8 +33,7 @@
|
|
31
33
|
|
32
34
|
#include "src/core/lib/debug/trace.h"
|
33
35
|
#include "src/core/lib/gprpp/status_helper.h"
|
34
|
-
|
35
|
-
#include "absl/status/status.h"
|
36
|
+
#include "src/core/lib/slice/slice_internal.h"
|
36
37
|
|
37
38
|
/// Opaque representation of an error.
|
38
39
|
/// See https://github.com/grpc/grpc/blob/master/doc/core/grpc-error.md for a
|
@@ -165,6 +166,8 @@ void grpc_enable_error_creation();
|
|
165
166
|
StatusCreate(absl::StatusCode::kUnknown, desc, DEBUG_LOCATION, {})
|
166
167
|
#define GRPC_ERROR_CREATE_FROM_COPIED_STRING(desc) \
|
167
168
|
StatusCreate(absl::StatusCode::kUnknown, desc, DEBUG_LOCATION, {})
|
169
|
+
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc) \
|
170
|
+
StatusCreate(absl::StatusCode::kUnknown, desc, DEBUG_LOCATION, {})
|
168
171
|
#define GRPC_ERROR_CREATE_FROM_STRING_VIEW(desc) \
|
169
172
|
StatusCreate(absl::StatusCode::kUnknown, desc, DEBUG_LOCATION, {})
|
170
173
|
|
@@ -199,6 +202,8 @@ static absl::Status grpc_status_create_from_vector(
|
|
199
202
|
|
200
203
|
#define GRPC_ERROR_CREATE_FROM_VECTOR(desc, error_list) \
|
201
204
|
grpc_status_create_from_vector(DEBUG_LOCATION, desc, error_list)
|
205
|
+
#define GRPC_ERROR_CREATE_FROM_VECTOR_AND_CPP_STRING(desc, error_list) \
|
206
|
+
grpc_status_create_from_vector(DEBUG_LOCATION, desc, error_list)
|
202
207
|
|
203
208
|
absl::Status grpc_os_error(const grpc_core::DebugLocation& location, int err,
|
204
209
|
const char* call_name) GRPC_MUST_USE_RESULT;
|
@@ -286,6 +291,9 @@ grpc_error_handle grpc_error_create(const char* file, int line,
|
|
286
291
|
#define GRPC_ERROR_CREATE_FROM_COPIED_STRING(desc) \
|
287
292
|
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_copied_string(desc), \
|
288
293
|
NULL, 0)
|
294
|
+
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc) \
|
295
|
+
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_cpp_string(desc), \
|
296
|
+
NULL, 0)
|
289
297
|
#define GRPC_ERROR_CREATE_FROM_STRING_VIEW(desc) \
|
290
298
|
grpc_error_create( \
|
291
299
|
__FILE__, __LINE__, \
|
@@ -301,18 +309,24 @@ grpc_error_handle grpc_error_create(const char* file, int line,
|
|
301
309
|
errs, count)
|
302
310
|
|
303
311
|
#define GRPC_ERROR_CREATE_FROM_VECTOR(desc, error_list) \
|
304
|
-
grpc_error_create_from_vector(
|
312
|
+
grpc_error_create_from_vector( \
|
313
|
+
__FILE__, __LINE__, grpc_slice_from_static_string, desc, error_list)
|
314
|
+
#define GRPC_ERROR_CREATE_FROM_VECTOR_AND_CPP_STRING(desc, error_list) \
|
315
|
+
grpc_error_create_from_vector(__FILE__, __LINE__, \
|
316
|
+
grpc_slice_from_cpp_string, desc, error_list)
|
305
317
|
|
306
318
|
// Consumes all the errors in the vector and forms a referencing error from
|
307
319
|
// them. If the vector is empty, return GRPC_ERROR_NONE.
|
308
|
-
template <typename VectorType
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
320
|
+
template <typename VectorType, typename StringType,
|
321
|
+
typename SliceFromStringFunction>
|
322
|
+
static grpc_error_handle grpc_error_create_from_vector(
|
323
|
+
const char* file, int line,
|
324
|
+
SliceFromStringFunction slice_from_string_function, StringType desc,
|
325
|
+
VectorType* error_list) {
|
313
326
|
grpc_error_handle error = GRPC_ERROR_NONE;
|
314
327
|
if (error_list->size() != 0) {
|
315
|
-
error = grpc_error_create(file, line,
|
328
|
+
error = grpc_error_create(file, line,
|
329
|
+
slice_from_string_function(std::move(desc)),
|
316
330
|
error_list->data(), error_list->size());
|
317
331
|
// Remove refs to all errors in error_list.
|
318
332
|
for (size_t i = 0; i < error_list->size(); i++) {
|
@@ -19,12 +19,12 @@
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
21
|
#ifdef GRPC_CFSTREAM
|
22
|
+
#include <CoreFoundation/CoreFoundation.h>
|
23
|
+
|
22
24
|
#include <string>
|
23
25
|
|
24
26
|
#include "absl/strings/str_format.h"
|
25
27
|
|
26
|
-
#include <CoreFoundation/CoreFoundation.h>
|
27
|
-
|
28
28
|
#include <grpc/support/alloc.h>
|
29
29
|
|
30
30
|
#include "src/core/lib/iomgr/error.h"
|
@@ -18,15 +18,13 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
-
#include "src/core/lib/iomgr/port.h"
|
22
|
-
|
23
21
|
#include <grpc/support/log.h>
|
24
22
|
|
23
|
+
#include "src/core/lib/iomgr/port.h"
|
24
|
+
|
25
25
|
/* This polling engine is only relevant on linux kernels supporting epoll
|
26
26
|
epoll_create() or epoll_create1() */
|
27
27
|
#ifdef GRPC_LINUX_EPOLL
|
28
|
-
#include "src/core/lib/iomgr/ev_epoll1_linux.h"
|
29
|
-
|
30
28
|
#include <assert.h>
|
31
29
|
#include <errno.h>
|
32
30
|
#include <fcntl.h>
|
@@ -54,6 +52,7 @@
|
|
54
52
|
#include "src/core/lib/gpr/useful.h"
|
55
53
|
#include "src/core/lib/gprpp/manual_constructor.h"
|
56
54
|
#include "src/core/lib/iomgr/block_annotate.h"
|
55
|
+
#include "src/core/lib/iomgr/ev_epoll1_linux.h"
|
57
56
|
#include "src/core/lib/iomgr/ev_posix.h"
|
58
57
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
59
58
|
#include "src/core/lib/iomgr/lockfree_event.h"
|
@@ -464,8 +463,8 @@ static void fd_has_errors(grpc_fd* fd) { fd->error_closure->SetReady(); }
|
|
464
463
|
* Pollset Definitions
|
465
464
|
*/
|
466
465
|
|
467
|
-
|
468
|
-
|
466
|
+
static GPR_THREAD_LOCAL(grpc_pollset*) g_current_thread_pollset;
|
467
|
+
static GPR_THREAD_LOCAL(grpc_pollset_worker*) g_current_thread_worker;
|
469
468
|
|
470
469
|
/* The designated poller */
|
471
470
|
static gpr_atm g_active_poller;
|
@@ -515,8 +514,6 @@ static size_t choose_neighborhood(void) {
|
|
515
514
|
}
|
516
515
|
|
517
516
|
static grpc_error_handle pollset_global_init(void) {
|
518
|
-
gpr_tls_init(&g_current_thread_pollset);
|
519
|
-
gpr_tls_init(&g_current_thread_worker);
|
520
517
|
gpr_atm_no_barrier_store(&g_active_poller, 0);
|
521
518
|
global_wakeup_fd.read_fd = -1;
|
522
519
|
grpc_error_handle err = grpc_wakeup_fd_init(&global_wakeup_fd);
|
@@ -538,8 +535,6 @@ static grpc_error_handle pollset_global_init(void) {
|
|
538
535
|
}
|
539
536
|
|
540
537
|
static void pollset_global_shutdown(void) {
|
541
|
-
gpr_tls_destroy(&g_current_thread_pollset);
|
542
|
-
gpr_tls_destroy(&g_current_thread_worker);
|
543
538
|
if (global_wakeup_fd.read_fd != -1) grpc_wakeup_fd_destroy(&global_wakeup_fd);
|
544
539
|
for (size_t i = 0; i < g_num_neighborhoods; i++) {
|
545
540
|
gpr_mu_destroy(&g_neighborhoods[i].mu);
|
@@ -1027,8 +1022,8 @@ static grpc_error_handle pollset_work(grpc_pollset* ps,
|
|
1027
1022
|
}
|
1028
1023
|
|
1029
1024
|
if (begin_worker(ps, &worker, worker_hdl, deadline)) {
|
1030
|
-
|
1031
|
-
|
1025
|
+
g_current_thread_pollset = ps;
|
1026
|
+
g_current_thread_worker = &worker;
|
1032
1027
|
GPR_ASSERT(!ps->shutting_down);
|
1033
1028
|
GPR_ASSERT(!ps->seen_inactive);
|
1034
1029
|
|
@@ -1055,13 +1050,13 @@ static grpc_error_handle pollset_work(grpc_pollset* ps,
|
|
1055
1050
|
|
1056
1051
|
gpr_mu_lock(&ps->mu); /* lock */
|
1057
1052
|
|
1058
|
-
|
1053
|
+
g_current_thread_worker = nullptr;
|
1059
1054
|
} else {
|
1060
|
-
|
1055
|
+
g_current_thread_pollset = ps;
|
1061
1056
|
}
|
1062
1057
|
end_worker(ps, &worker, worker_hdl);
|
1063
1058
|
|
1064
|
-
|
1059
|
+
g_current_thread_pollset = nullptr;
|
1065
1060
|
return error;
|
1066
1061
|
}
|
1067
1062
|
|
@@ -1074,9 +1069,8 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1074
1069
|
std::vector<std::string> log;
|
1075
1070
|
log.push_back(absl::StrFormat(
|
1076
1071
|
"PS:%p KICK:%p curps=%p curworker=%p root=%p", pollset, specific_worker,
|
1077
|
-
|
1078
|
-
|
1079
|
-
pollset->root_worker));
|
1072
|
+
static_cast<void*>(g_current_thread_pollset),
|
1073
|
+
static_cast<void*>(g_current_thread_worker), pollset->root_worker));
|
1080
1074
|
if (pollset->root_worker != nullptr) {
|
1081
1075
|
log.push_back(absl::StrFormat(
|
1082
1076
|
" {kick_state=%s next=%p {kick_state=%s}}",
|
@@ -1092,8 +1086,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1092
1086
|
}
|
1093
1087
|
|
1094
1088
|
if (specific_worker == nullptr) {
|
1095
|
-
if (
|
1096
|
-
reinterpret_cast<intptr_t>(pollset)) {
|
1089
|
+
if (g_current_thread_pollset != pollset) {
|
1097
1090
|
grpc_pollset_worker* root_worker = pollset->root_worker;
|
1098
1091
|
if (root_worker == nullptr) {
|
1099
1092
|
GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER();
|
@@ -1185,8 +1178,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1185
1178
|
gpr_log(GPR_INFO, " .. specific worker already kicked");
|
1186
1179
|
}
|
1187
1180
|
goto done;
|
1188
|
-
} else if (
|
1189
|
-
reinterpret_cast<intptr_t>(specific_worker)) {
|
1181
|
+
} else if (g_current_thread_worker == specific_worker) {
|
1190
1182
|
GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD();
|
1191
1183
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
1192
1184
|
gpr_log(GPR_INFO, " .. mark %p kicked", specific_worker);
|
@@ -18,15 +18,13 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
-
#include "src/core/lib/iomgr/port.h"
|
22
|
-
|
23
21
|
#include <grpc/support/log.h>
|
24
22
|
|
23
|
+
#include "src/core/lib/iomgr/port.h"
|
24
|
+
|
25
25
|
/* This polling engine is only relevant on linux kernels supporting epoll() */
|
26
26
|
#ifdef GRPC_LINUX_EPOLL_CREATE1
|
27
27
|
|
28
|
-
#include "src/core/lib/iomgr/ev_epollex_linux.h"
|
29
|
-
|
30
28
|
#include <assert.h>
|
31
29
|
#include <errno.h>
|
32
30
|
#include <limits.h>
|
@@ -54,6 +52,7 @@
|
|
54
52
|
#include "src/core/lib/gprpp/ref_counted.h"
|
55
53
|
#include "src/core/lib/gprpp/sync.h"
|
56
54
|
#include "src/core/lib/iomgr/block_annotate.h"
|
55
|
+
#include "src/core/lib/iomgr/ev_epollex_linux.h"
|
57
56
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
58
57
|
#include "src/core/lib/iomgr/is_epollexclusive_available.h"
|
59
58
|
#include "src/core/lib/iomgr/lockfree_event.h"
|
@@ -643,20 +642,16 @@ static grpc_error_handle pollable_add_fd(pollable* p, grpc_fd* fd) {
|
|
643
642
|
* Pollset Definitions
|
644
643
|
*/
|
645
644
|
|
646
|
-
|
647
|
-
|
645
|
+
static GPR_THREAD_LOCAL(grpc_pollset*) g_current_thread_pollset;
|
646
|
+
static GPR_THREAD_LOCAL(grpc_pollset_worker*) g_current_thread_worker;
|
648
647
|
|
649
648
|
/* Global state management */
|
650
649
|
static grpc_error_handle pollset_global_init(void) {
|
651
|
-
gpr_tls_init(&g_current_thread_pollset);
|
652
|
-
gpr_tls_init(&g_current_thread_worker);
|
653
650
|
return pollable_create(PO_EMPTY, &g_empty_pollable);
|
654
651
|
}
|
655
652
|
|
656
653
|
static void pollset_global_shutdown(void) {
|
657
654
|
POLLABLE_UNREF(g_empty_pollable, "g_empty_pollable");
|
658
|
-
gpr_tls_destroy(&g_current_thread_pollset);
|
659
|
-
gpr_tls_destroy(&g_current_thread_worker);
|
660
655
|
}
|
661
656
|
|
662
657
|
/* pollset->mu must be held while calling this function */
|
@@ -693,8 +688,7 @@ static grpc_error_handle kick_one_worker(grpc_pollset_worker* specific_worker) {
|
|
693
688
|
GRPC_STATS_INC_POLLSET_KICKED_AGAIN();
|
694
689
|
return GRPC_ERROR_NONE;
|
695
690
|
}
|
696
|
-
if (
|
697
|
-
reinterpret_cast<intptr_t>(specific_worker)) {
|
691
|
+
if (g_current_thread_worker == specific_worker) {
|
698
692
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
699
693
|
gpr_log(GPR_INFO, "PS:%p kicked_specific_but_awake", p);
|
700
694
|
}
|
@@ -731,14 +725,13 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
731
725
|
GRPC_STATS_INC_POLLSET_KICK();
|
732
726
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
733
727
|
gpr_log(GPR_INFO,
|
734
|
-
"PS:%p kick %p tls_pollset=%
|
735
|
-
|
736
|
-
|
737
|
-
|
728
|
+
"PS:%p kick %p tls_pollset=%p tls_worker=%p pollset.root_worker=%p",
|
729
|
+
pollset, specific_worker,
|
730
|
+
static_cast<void*>(g_current_thread_pollset),
|
731
|
+
static_cast<void*>(g_current_thread_worker), pollset->root_worker);
|
738
732
|
}
|
739
733
|
if (specific_worker == nullptr) {
|
740
|
-
if (
|
741
|
-
reinterpret_cast<intptr_t>(pollset)) {
|
734
|
+
if (g_current_thread_pollset != pollset) {
|
742
735
|
if (pollset->root_worker == nullptr) {
|
743
736
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
744
737
|
gpr_log(GPR_INFO, "PS:%p kicked_any_without_poller", pollset);
|
@@ -1132,8 +1125,8 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1132
1125
|
pollset->kicked_without_poller = false;
|
1133
1126
|
} else {
|
1134
1127
|
if (begin_worker(pollset, WORKER_PTR, worker_hdl, deadline)) {
|
1135
|
-
|
1136
|
-
|
1128
|
+
g_current_thread_pollset = pollset;
|
1129
|
+
g_current_thread_worker = WORKER_PTR;
|
1137
1130
|
if (WORKER_PTR->pollable_obj->event_cursor ==
|
1138
1131
|
WORKER_PTR->pollable_obj->event_count) {
|
1139
1132
|
append_error(&error, pollable_epoll(WORKER_PTR->pollable_obj, deadline),
|
@@ -1144,8 +1137,8 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1144
1137
|
pollable_process_events(pollset, WORKER_PTR->pollable_obj, false),
|
1145
1138
|
err_desc);
|
1146
1139
|
grpc_core::ExecCtx::Get()->Flush();
|
1147
|
-
|
1148
|
-
|
1140
|
+
g_current_thread_pollset = nullptr;
|
1141
|
+
g_current_thread_worker = nullptr;
|
1149
1142
|
}
|
1150
1143
|
end_worker(pollset, WORKER_PTR, worker_hdl);
|
1151
1144
|
}
|
@@ -22,8 +22,6 @@
|
|
22
22
|
|
23
23
|
#ifdef GRPC_POSIX_SOCKET_EV_POLL
|
24
24
|
|
25
|
-
#include "src/core/lib/iomgr/ev_poll_posix.h"
|
26
|
-
|
27
25
|
#include <assert.h>
|
28
26
|
#include <errno.h>
|
29
27
|
#include <limits.h>
|
@@ -45,6 +43,7 @@
|
|
45
43
|
#include "src/core/lib/gpr/useful.h"
|
46
44
|
#include "src/core/lib/gprpp/thd.h"
|
47
45
|
#include "src/core/lib/iomgr/block_annotate.h"
|
46
|
+
#include "src/core/lib/iomgr/ev_poll_posix.h"
|
48
47
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
49
48
|
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
|
50
49
|
#include "src/core/lib/profiling/timers.h"
|
@@ -706,8 +705,8 @@ static void fd_end_poll(grpc_fd_watcher* watcher, int got_read, int got_write) {
|
|
706
705
|
* pollset_posix.c
|
707
706
|
*/
|
708
707
|
|
709
|
-
|
710
|
-
|
708
|
+
static GPR_THREAD_LOCAL(grpc_pollset*) g_current_thread_poller;
|
709
|
+
static GPR_THREAD_LOCAL(grpc_pollset_worker*) g_current_thread_worker;
|
711
710
|
|
712
711
|
static void remove_worker(grpc_pollset* /*p*/, grpc_pollset_worker* worker) {
|
713
712
|
worker->prev->next = worker->next;
|
@@ -776,8 +775,7 @@ static grpc_error_handle pollset_kick_ext(grpc_pollset* p,
|
|
776
775
|
&error, grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
|
777
776
|
}
|
778
777
|
p->kicked_without_pollers = true;
|
779
|
-
} else if (
|
780
|
-
reinterpret_cast<intptr_t>(specific_worker)) {
|
778
|
+
} else if (g_current_thread_worker != specific_worker) {
|
781
779
|
GPR_TIMER_MARK("different_thread_worker", 0);
|
782
780
|
if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) {
|
783
781
|
specific_worker->reevaluate_polling_on_wakeup = true;
|
@@ -794,20 +792,17 @@ static grpc_error_handle pollset_kick_ext(grpc_pollset* p,
|
|
794
792
|
kick_append_error(&error,
|
795
793
|
grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
|
796
794
|
}
|
797
|
-
} else if (
|
798
|
-
reinterpret_cast<intptr_t>(p)) {
|
795
|
+
} else if (g_current_thread_poller != p) {
|
799
796
|
GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0);
|
800
797
|
GPR_TIMER_MARK("kick_anonymous", 0);
|
801
798
|
specific_worker = pop_front_worker(p);
|
802
799
|
if (specific_worker != nullptr) {
|
803
|
-
if (
|
804
|
-
reinterpret_cast<intptr_t>(specific_worker)) {
|
800
|
+
if (g_current_thread_worker == specific_worker) {
|
805
801
|
GPR_TIMER_MARK("kick_anonymous_not_self", 0);
|
806
802
|
push_back_worker(p, specific_worker);
|
807
803
|
specific_worker = pop_front_worker(p);
|
808
804
|
if ((flags & GRPC_POLLSET_CAN_KICK_SELF) == 0 &&
|
809
|
-
|
810
|
-
reinterpret_cast<intptr_t>(specific_worker)) {
|
805
|
+
g_current_thread_worker == specific_worker) {
|
811
806
|
push_back_worker(p, specific_worker);
|
812
807
|
specific_worker = nullptr;
|
813
808
|
}
|
@@ -835,16 +830,9 @@ static grpc_error_handle pollset_kick(grpc_pollset* p,
|
|
835
830
|
|
836
831
|
/* global state management */
|
837
832
|
|
838
|
-
static grpc_error_handle pollset_global_init(void) {
|
839
|
-
gpr_tls_init(&g_current_thread_poller);
|
840
|
-
gpr_tls_init(&g_current_thread_worker);
|
841
|
-
return GRPC_ERROR_NONE;
|
842
|
-
}
|
833
|
+
static grpc_error_handle pollset_global_init(void) { return GRPC_ERROR_NONE; }
|
843
834
|
|
844
|
-
static void pollset_global_shutdown(void) {
|
845
|
-
gpr_tls_destroy(&g_current_thread_poller);
|
846
|
-
gpr_tls_destroy(&g_current_thread_worker);
|
847
|
-
}
|
835
|
+
static void pollset_global_shutdown(void) {}
|
848
836
|
|
849
837
|
/* main interface */
|
850
838
|
|
@@ -959,7 +947,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
959
947
|
re-evaluate our pollers (this allows poll() based pollers to
|
960
948
|
ensure they don't miss wakeups) */
|
961
949
|
keep_polling = 1;
|
962
|
-
|
950
|
+
g_current_thread_poller = pollset;
|
963
951
|
while (keep_polling) {
|
964
952
|
keep_polling = 0;
|
965
953
|
if (!pollset->kicked_without_pollers ||
|
@@ -967,7 +955,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
967
955
|
if (!added_worker) {
|
968
956
|
push_front_worker(pollset, &worker);
|
969
957
|
added_worker = 1;
|
970
|
-
|
958
|
+
g_current_thread_worker = &worker;
|
971
959
|
}
|
972
960
|
GPR_TIMER_SCOPE("maybe_work_and_unlock", 0);
|
973
961
|
#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR)
|
@@ -1115,10 +1103,10 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1115
1103
|
keep_polling = 1;
|
1116
1104
|
}
|
1117
1105
|
}
|
1118
|
-
|
1106
|
+
g_current_thread_poller = nullptr;
|
1119
1107
|
if (added_worker) {
|
1120
1108
|
remove_worker(pollset, &worker);
|
1121
|
-
|
1109
|
+
g_current_thread_worker = nullptr;
|
1122
1110
|
}
|
1123
1111
|
/* release wakeup fd to the local pool */
|
1124
1112
|
worker.wakeup_fd->next = pollset->local_wakeup_cache;
|
@@ -22,8 +22,6 @@
|
|
22
22
|
|
23
23
|
#ifdef GRPC_POSIX_SOCKET_EV
|
24
24
|
|
25
|
-
#include "src/core/lib/iomgr/ev_posix.h"
|
26
|
-
|
27
25
|
#include <string.h>
|
28
26
|
|
29
27
|
#include <grpc/support/alloc.h>
|
@@ -36,6 +34,7 @@
|
|
36
34
|
#include "src/core/lib/iomgr/ev_epoll1_linux.h"
|
37
35
|
#include "src/core/lib/iomgr/ev_epollex_linux.h"
|
38
36
|
#include "src/core/lib/iomgr/ev_poll_posix.h"
|
37
|
+
#include "src/core/lib/iomgr/ev_posix.h"
|
39
38
|
#include "src/core/lib/iomgr/internal_errqueue.h"
|
40
39
|
|
41
40
|
GPR_GLOBAL_CONFIG_DEFINE_STRING(
|
@@ -14,19 +14,19 @@
|
|
14
14
|
#include <grpc/support/port_platform.h>
|
15
15
|
|
16
16
|
#ifdef GRPC_USE_EVENT_ENGINE
|
17
|
-
#include "
|
17
|
+
#include "absl/strings/string_view.h"
|
18
18
|
|
19
19
|
#include <grpc/event_engine/event_engine.h>
|
20
20
|
#include <grpc/slice.h>
|
21
21
|
#include <grpc/slice_buffer.h>
|
22
22
|
#include <grpc/support/time.h>
|
23
|
-
#include "absl/strings/string_view.h"
|
24
23
|
|
25
24
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
26
25
|
#include "src/core/lib/channel/channel_args.h"
|
27
26
|
#include "src/core/lib/iomgr/endpoint.h"
|
28
27
|
#include "src/core/lib/iomgr/error.h"
|
29
28
|
#include "src/core/lib/iomgr/event_engine/closure.h"
|
29
|
+
#include "src/core/lib/iomgr/event_engine/endpoint.h"
|
30
30
|
#include "src/core/lib/iomgr/event_engine/pollset.h"
|
31
31
|
#include "src/core/lib/iomgr/pollset.h"
|
32
32
|
#include "src/core/lib/iomgr/pollset_set.h"
|
@@ -39,6 +39,7 @@ namespace {
|
|
39
39
|
|
40
40
|
using ::grpc_event_engine::experimental::EventEngine;
|
41
41
|
using ::grpc_event_engine::experimental::ResolvedAddressToURI;
|
42
|
+
using ::grpc_event_engine::experimental::SliceAllocator;
|
42
43
|
using ::grpc_event_engine::experimental::SliceBuffer;
|
43
44
|
|
44
45
|
void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
@@ -102,21 +103,14 @@ void endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
|
|
102
103
|
gpr_log(GPR_INFO, "TCP Endpoint %p shutdown why=%s", eeep->endpoint.get(),
|
103
104
|
str);
|
104
105
|
}
|
105
|
-
grpc_resource_user_shutdown(eeep->ru);
|
106
106
|
eeep->endpoint.reset();
|
107
107
|
}
|
108
108
|
|
109
109
|
void endpoint_destroy(grpc_endpoint* ep) {
|
110
110
|
auto* eeep = reinterpret_cast<grpc_event_engine_endpoint*>(ep);
|
111
|
-
grpc_resource_user_unref(eeep->ru);
|
112
111
|
delete eeep;
|
113
112
|
}
|
114
113
|
|
115
|
-
grpc_resource_user* endpoint_get_resource_user(grpc_endpoint* ep) {
|
116
|
-
auto* eeep = reinterpret_cast<grpc_event_engine_endpoint*>(ep);
|
117
|
-
return eeep->ru;
|
118
|
-
}
|
119
|
-
|
120
114
|
absl::string_view endpoint_get_peer(grpc_endpoint* ep) {
|
121
115
|
auto* eeep = reinterpret_cast<grpc_event_engine_endpoint*>(ep);
|
122
116
|
if (eeep->endpoint == nullptr) {
|
@@ -154,7 +148,6 @@ grpc_endpoint_vtable grpc_event_engine_endpoint_vtable = {
|
|
154
148
|
endpoint_delete_from_pollset_set,
|
155
149
|
endpoint_shutdown,
|
156
150
|
endpoint_destroy,
|
157
|
-
endpoint_get_resource_user,
|
158
151
|
endpoint_get_peer,
|
159
152
|
endpoint_get_local_address,
|
160
153
|
endpoint_get_fd,
|
@@ -166,7 +159,6 @@ grpc_event_engine_endpoint* grpc_tcp_server_endpoint_create(
|
|
166
159
|
std::unique_ptr<EventEngine::Endpoint> ee_endpoint) {
|
167
160
|
auto endpoint = new grpc_event_engine_endpoint;
|
168
161
|
endpoint->base.vtable = &grpc_event_engine_endpoint_vtable;
|
169
|
-
// TODO(hork): populate endpoint->ru from the uvEngine's subclass
|
170
162
|
endpoint->endpoint = std::move(ee_endpoint);
|
171
163
|
return endpoint;
|
172
164
|
}
|
@@ -175,17 +167,6 @@ grpc_endpoint* grpc_tcp_create(const grpc_channel_args* channel_args,
|
|
175
167
|
absl::string_view peer_address) {
|
176
168
|
auto endpoint = new grpc_event_engine_endpoint;
|
177
169
|
endpoint->base.vtable = &grpc_event_engine_endpoint_vtable;
|
178
|
-
grpc_resource_quota* resource_quota =
|
179
|
-
grpc_channel_args_find_pointer<grpc_resource_quota>(
|
180
|
-
channel_args, GRPC_ARG_RESOURCE_QUOTA);
|
181
|
-
if (resource_quota != nullptr) {
|
182
|
-
grpc_resource_quota_ref_internal(resource_quota);
|
183
|
-
} else {
|
184
|
-
resource_quota = grpc_resource_quota_create(nullptr);
|
185
|
-
}
|
186
|
-
endpoint->ru = grpc_resource_user_create(resource_quota,
|
187
|
-
std::string(peer_address).c_str());
|
188
|
-
grpc_resource_quota_unref_internal(resource_quota);
|
189
170
|
return &endpoint->base;
|
190
171
|
}
|
191
172
|
|
@@ -28,7 +28,6 @@ struct grpc_event_engine_endpoint {
|
|
28
28
|
endpoint;
|
29
29
|
std::string peer_address;
|
30
30
|
std::string local_address;
|
31
|
-
grpc_resource_user* ru = nullptr;
|
32
31
|
std::aligned_storage<
|
33
32
|
sizeof(grpc_event_engine::experimental::SliceBuffer),
|
34
33
|
alignof(grpc_event_engine::experimental::SliceBuffer)>::type read_buffer;
|
@@ -45,7 +44,7 @@ grpc_event_engine_endpoint* grpc_tcp_server_endpoint_create(
|
|
45
44
|
|
46
45
|
/// Creates a new internal grpc_endpoint struct, when no EventEngine Endpoint
|
47
46
|
/// has yet been created. This is used in client code before connections are
|
48
|
-
/// established.
|
47
|
+
/// established. Takes ownership of the slice_allocator.
|
49
48
|
grpc_endpoint* grpc_tcp_create(const grpc_channel_args* channel_args,
|
50
49
|
absl::string_view peer_address);
|
51
50
|
|