grpc 1.47.0 → 1.48.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +105 -47
- data/include/grpc/compression.h +1 -1
- data/include/grpc/event_engine/event_engine.h +20 -11
- data/include/grpc/event_engine/slice_buffer.h +8 -2
- data/include/grpc/grpc.h +3 -3
- data/include/grpc/impl/codegen/compression_types.h +2 -1
- data/include/grpc/impl/codegen/connectivity_state.h +2 -1
- data/include/grpc/impl/codegen/gpr_types.h +2 -1
- data/include/grpc/impl/codegen/grpc_types.h +2 -1
- data/include/grpc/impl/codegen/port_platform.h +6 -3
- data/src/core/ext/filters/census/grpc_context.cc +3 -0
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +17 -5
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +16 -0
- data/src/core/ext/filters/channel_idle/idle_filter_state.h +2 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -1
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +2 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +51 -65
- data/src/core/ext/filters/client_channel/client_channel.h +19 -4
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +6 -4
- data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +73 -43
- 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/oob_backend_metric.cc +0 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +106 -112
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +91 -42
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +177 -138
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +4 -1
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +47 -44
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +118 -103
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +83 -78
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +57 -67
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +13 -17
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +0 -7
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +3 -5
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -1
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +6 -6
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +10 -5
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +12 -3
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +3 -4
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -0
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +24 -15
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +3 -1
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -7
- data/src/core/ext/filters/client_channel/retry_filter.cc +35 -36
- data/src/core/ext/filters/client_channel/retry_filter.h +1 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +4 -4
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -1
- data/src/core/ext/filters/client_channel/subchannel.cc +53 -50
- data/src/core/ext/filters/client_channel/subchannel.h +6 -22
- data/src/core/ext/filters/client_channel/subchannel_interface.h +10 -18
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +12 -97
- data/src/core/ext/filters/client_channel/subchannel_stream_client.h +5 -9
- data/src/core/ext/filters/deadline/deadline_filter.cc +12 -7
- data/src/core/ext/filters/deadline/deadline_filter.h +8 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +21 -2
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +8 -3
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +7 -4
- data/src/core/ext/filters/fault_injection/service_config_parser.h +17 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +16 -5
- data/src/core/ext/filters/http/client/http_client_filter.h +8 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +11 -10
- data/src/core/ext/filters/http/client_authority_filter.h +5 -2
- data/src/core/ext/filters/http/http_filters_plugin.cc +9 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +64 -187
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +1 -2
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +42 -106
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +1 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +16 -9
- data/src/core/ext/filters/http/server/http_server_filter.h +6 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +25 -15
- data/src/core/ext/filters/message_size/message_size_filter.h +13 -0
- data/src/core/ext/filters/rbac/rbac_filter.cc +14 -3
- data/src/core/ext/filters/rbac/rbac_filter.h +8 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +13 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +14 -2
- data/src/core/ext/filters/server_config_selector/server_config_selector.cc +1 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +9 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +22 -2
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +1 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +4 -4
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +15 -15
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +196 -476
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +141 -261
- data/src/core/ext/transport/chttp2/transport/flow_control.h +176 -289
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +57 -215
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -36
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +0 -41
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +7 -12
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +7 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +9 -111
- data/src/core/ext/transport/chttp2/transport/parsing.cc +51 -38
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +0 -4
- data/src/core/ext/transport/chttp2/transport/writing.cc +18 -21
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -1
- data/src/core/ext/transport/inproc/inproc_transport.cc +85 -81
- data/src/core/ext/transport/inproc/inproc_transport.h +3 -1
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +52 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +164 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +94 -0
- data/src/core/ext/xds/certificate_provider_factory.h +6 -1
- data/src/core/ext/xds/certificate_provider_registry.cc +8 -8
- data/src/core/ext/xds/certificate_provider_registry.h +3 -1
- data/src/core/ext/xds/certificate_provider_store.cc +2 -0
- data/src/core/ext/xds/certificate_provider_store.h +9 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +9 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +8 -0
- data/src/core/ext/xds/upb_utils.h +1 -2
- data/src/core/ext/xds/xds_api.cc +16 -18
- data/src/core/ext/xds/xds_api.h +12 -5
- data/src/core/ext/xds/xds_bootstrap.cc +37 -24
- data/src/core/ext/xds/xds_bootstrap.h +9 -11
- data/src/core/ext/xds/xds_certificate_provider.cc +12 -3
- data/src/core/ext/xds/xds_certificate_provider.h +16 -1
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +9 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.h +5 -1
- data/src/core/ext/xds/xds_client.cc +71 -22
- data/src/core/ext/xds/xds_client.h +17 -3
- data/src/core/ext/xds/xds_client_stats.cc +3 -4
- data/src/core/ext/xds/xds_client_stats.h +4 -3
- data/src/core/ext/xds/xds_cluster.cc +21 -10
- data/src/core/ext/xds/xds_cluster.h +9 -1
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +16 -7
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -8
- data/src/core/ext/xds/xds_common_types.cc +36 -22
- data/src/core/ext/xds/xds_common_types.h +12 -4
- data/src/core/ext/xds/xds_endpoint.cc +25 -15
- data/src/core/ext/xds/xds_endpoint.h +13 -5
- data/src/core/ext/xds/xds_http_fault_filter.cc +7 -5
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -1
- data/src/core/ext/xds/xds_http_filters.cc +7 -0
- data/src/core/ext/xds/xds_http_filters.h +3 -3
- data/src/core/ext/xds/xds_http_rbac_filter.cc +16 -0
- data/src/core/ext/xds/xds_http_rbac_filter.h +7 -0
- data/src/core/ext/xds/xds_lb_policy_registry.cc +291 -0
- data/src/core/ext/xds/xds_lb_policy_registry.h +72 -0
- data/src/core/ext/xds/xds_listener.cc +51 -33
- data/src/core/ext/xds/xds_listener.h +10 -1
- data/src/core/ext/xds/xds_resource_type.h +3 -3
- data/src/core/ext/xds/xds_resource_type_impl.h +7 -3
- data/src/core/ext/xds/xds_route_config.cc +56 -28
- data/src/core/ext/xds/xds_route_config.h +11 -2
- data/src/core/ext/xds/xds_routing.cc +16 -0
- data/src/core/ext/xds/xds_routing.h +7 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +54 -6
- data/src/core/lib/address_utils/parse_address.cc +5 -8
- data/src/core/lib/address_utils/parse_address.h +3 -2
- data/src/core/lib/address_utils/sockaddr_utils.cc +8 -7
- data/src/core/lib/address_utils/sockaddr_utils.h +2 -0
- data/src/core/lib/avl/avl.h +3 -3
- data/src/core/lib/backoff/backoff.cc +1 -1
- data/src/core/lib/backoff/backoff.h +1 -1
- data/src/core/lib/channel/call_tracer.h +3 -3
- data/src/core/lib/channel/channel_args.h +1 -0
- data/src/core/lib/channel/channel_args_preconditioning.cc +1 -0
- data/src/core/lib/channel/channel_fwd.h +26 -0
- data/src/core/lib/channel/channel_stack.cc +4 -4
- data/src/core/lib/channel/channel_stack.h +1 -11
- data/src/core/lib/channel/channel_stack_builder.h +2 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +1 -0
- data/src/core/lib/channel/channelz.cc +2 -1
- data/src/core/lib/channel/channelz.h +2 -3
- data/src/core/lib/channel/channelz_registry.cc +4 -5
- data/src/core/lib/channel/connected_channel.cc +1 -0
- data/src/core/lib/channel/connected_channel.h +1 -0
- data/src/core/lib/channel/promise_based_filter.cc +11 -5
- data/src/core/lib/channel/promise_based_filter.h +2 -0
- data/src/core/lib/compression/compression.cc +6 -1
- data/src/core/lib/compression/compression_internal.cc +3 -6
- data/src/core/lib/compression/compression_internal.h +3 -2
- data/src/core/lib/compression/message_compress.cc +3 -1
- data/src/core/lib/compression/message_compress.h +2 -3
- data/src/core/lib/debug/stats.cc +9 -9
- data/src/core/lib/debug/stats.h +2 -1
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/stats_data.h +0 -4
- data/src/core/lib/debug/trace.h +13 -12
- data/src/core/lib/event_engine/default_event_engine_factory.cc +1 -1
- data/src/core/lib/event_engine/event_engine.cc +24 -19
- data/src/core/lib/event_engine/event_engine_factory.h +2 -2
- data/src/core/lib/event_engine/{iomgr_engine.cc → iomgr_engine/iomgr_engine.cc} +44 -91
- data/src/core/lib/event_engine/{iomgr_engine.h → iomgr_engine/iomgr_engine.h} +20 -16
- data/src/core/lib/event_engine/iomgr_engine/thread_pool.cc +123 -0
- data/src/core/lib/event_engine/iomgr_engine/thread_pool.h +70 -0
- data/src/core/lib/event_engine/iomgr_engine/time_averaged_stats.cc +62 -0
- data/src/core/lib/event_engine/iomgr_engine/time_averaged_stats.h +81 -0
- data/src/core/lib/event_engine/iomgr_engine/timer.cc +312 -0
- data/src/core/lib/event_engine/iomgr_engine/timer.h +193 -0
- data/src/core/lib/event_engine/iomgr_engine/timer_heap.cc +107 -0
- data/src/core/lib/event_engine/iomgr_engine/timer_heap.h +56 -0
- data/src/core/lib/event_engine/iomgr_engine/timer_manager.cc +254 -0
- data/src/core/lib/event_engine/iomgr_engine/timer_manager.h +111 -0
- data/src/core/lib/event_engine/promise.h +69 -0
- data/src/core/lib/gpr/time_posix.cc +6 -9
- data/src/core/lib/gpr/time_windows.cc +10 -7
- data/src/core/lib/gprpp/manual_constructor.h +0 -67
- data/src/core/lib/gprpp/status_helper.cc +44 -30
- data/src/core/lib/gprpp/time.cc +8 -0
- data/src/core/lib/gprpp/time.h +4 -0
- data/src/core/lib/http/format_request.cc +5 -4
- data/src/core/lib/http/format_request.h +1 -1
- data/src/core/lib/http/httpcli.cc +18 -12
- data/src/core/lib/http/httpcli.h +19 -3
- data/src/core/lib/http/httpcli_security_connector.cc +16 -4
- data/src/core/lib/http/httpcli_ssl_credentials.h +3 -1
- data/src/core/lib/http/parser.cc +6 -7
- data/src/core/lib/http/parser.h +3 -0
- data/src/core/lib/iomgr/call_combiner.cc +2 -2
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -2
- data/src/core/lib/iomgr/error.cc +11 -9
- data/src/core/lib/iomgr/error.h +9 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +57 -18
- data/src/core/lib/iomgr/ev_epoll1_linux.h +1 -1
- data/src/core/lib/iomgr/ev_poll_posix.cc +77 -52
- data/src/core/lib/iomgr/ev_poll_posix.h +2 -2
- data/src/core/lib/iomgr/ev_posix.cc +54 -92
- data/src/core/lib/iomgr/ev_posix.h +5 -3
- data/src/core/lib/iomgr/fork_posix.cc +1 -1
- data/src/core/lib/iomgr/iomgr.cc +7 -0
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -0
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -0
- data/src/core/lib/iomgr/load_file.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/tcp_client.cc +12 -7
- data/src/core/lib/iomgr/tcp_client.h +24 -13
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +15 -9
- data/src/core/lib/iomgr/tcp_client_posix.cc +143 -25
- data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_client_windows.cc +14 -10
- data/src/core/lib/iomgr/tcp_posix.cc +91 -29
- data/src/core/lib/iomgr/tcp_server_posix.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +12 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
- data/src/core/lib/iomgr/tcp_server_windows.cc +7 -7
- data/src/core/lib/iomgr/tcp_windows.cc +5 -5
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -2
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +15 -12
- data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -2
- data/src/core/lib/iomgr/work_serializer.h +2 -3
- data/src/core/lib/matchers/matchers.cc +6 -3
- data/src/core/lib/matchers/matchers.h +2 -0
- data/src/core/lib/promise/activity.cc +0 -1
- data/src/core/lib/promise/activity.h +7 -13
- data/src/core/lib/promise/loop.h +1 -0
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/sleep.cc +36 -31
- data/src/core/lib/promise/sleep.h +25 -25
- data/src/core/lib/resolver/resolver.cc +5 -0
- data/src/core/lib/resolver/resolver.h +3 -0
- data/src/core/lib/resolver/resolver_factory.h +5 -2
- data/src/core/lib/resolver/resolver_registry.cc +2 -9
- data/src/core/lib/resolver/resolver_registry.h +12 -1
- data/src/core/lib/resolver/server_address.cc +8 -0
- data/src/core/lib/resolver/server_address.h +9 -2
- data/src/core/lib/resource_quota/memory_quota.cc +18 -60
- data/src/core/lib/resource_quota/memory_quota.h +11 -25
- data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +4 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +9 -3
- data/src/core/lib/security/authorization/evaluate_args.h +6 -3
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +6 -0
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +7 -0
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +12 -0
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +12 -1
- data/src/core/lib/security/authorization/matchers.cc +9 -1
- data/src/core/lib/security/authorization/matchers.h +7 -0
- data/src/core/lib/security/authorization/rbac_policy.cc +5 -0
- data/src/core/lib/security/authorization/rbac_policy.h +7 -0
- data/src/core/lib/security/context/security_context.cc +5 -2
- data/src/core/lib/security/context/security_context.h +14 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +4 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.h +6 -1
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +1 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -4
- data/src/core/lib/security/credentials/call_creds_util.cc +8 -0
- data/src/core/lib/security/credentials/call_creds_util.h +1 -0
- data/src/core/lib/security/credentials/channel_creds_registry.h +6 -1
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +10 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +16 -2
- data/src/core/lib/security/credentials/credentials.cc +4 -8
- data/src/core/lib/security/credentials/credentials.h +10 -8
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +28 -10
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +10 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +9 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +24 -9
- data/src/core/lib/security/credentials/external/external_account_credentials.h +11 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +12 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +6 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +20 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +10 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +8 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -10
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +10 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +9 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.h +10 -0
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +4 -0
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +5 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +5 -2
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +11 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +14 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +28 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -2
- data/src/core/lib/security/credentials/local/local_credentials.cc +4 -3
- data/src/core/lib/security/credentials/local/local_credentials.h +7 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +26 -13
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +20 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +8 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +24 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +5 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +13 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +6 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +29 -10
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +9 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +9 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +6 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +7 -2
- data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -1
- data/src/core/lib/security/credentials/tls/tls_utils.cc +2 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +1 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +8 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.h +14 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +22 -2
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +6 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +17 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +9 -0
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +17 -2
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +5 -3
- data/src/core/lib/security/security_connector/{load_system_roots_linux.cc → load_system_roots_supported.cc} +27 -19
- data/src/core/lib/security/security_connector/{load_system_roots_linux.h → load_system_roots_supported.h} +5 -5
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +22 -3
- data/src/core/lib/security/security_connector/local/local_security_connector.h +6 -2
- data/src/core/lib/security/security_connector/security_connector.cc +20 -18
- data/src/core/lib/security/security_connector/security_connector.h +18 -6
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +18 -6
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +4 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +12 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +10 -7
- data/src/core/lib/security/security_connector/ssl_utils_config.h +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -13
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +23 -3
- data/src/core/lib/security/transport/auth_filters.h +7 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -9
- data/src/core/lib/security/transport/secure_endpoint.cc +63 -13
- data/src/core/lib/security/transport/secure_endpoint.h +4 -3
- data/src/core/lib/security/transport/security_handshaker.cc +44 -11
- data/src/core/lib/security/transport/security_handshaker.h +4 -0
- data/src/core/lib/security/transport/server_auth_filter.cc +26 -4
- data/src/core/lib/security/util/json_util.cc +3 -2
- data/src/core/lib/security/util/json_util.h +0 -2
- data/src/core/lib/service_config/service_config_call_data.h +2 -1
- data/src/core/lib/service_config/service_config_impl.cc +6 -6
- data/src/core/lib/service_config/service_config_impl.h +1 -3
- data/src/core/lib/service_config/service_config_parser.cc +2 -4
- data/src/core/lib/slice/slice_buffer.cc +30 -1
- data/src/core/lib/slice/slice_buffer.h +37 -6
- data/src/core/lib/slice/slice_string_helpers.cc +0 -20
- data/src/core/lib/slice/slice_string_helpers.h +0 -4
- data/src/core/lib/surface/call.cc +53 -115
- data/src/core/lib/surface/call.h +5 -1
- data/src/core/lib/surface/channel.h +2 -0
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +15 -14
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/init.cc +0 -1
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +14 -8
- data/src/core/lib/surface/server.h +4 -1
- data/src/core/lib/surface/validate_metadata.cc +1 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/error_utils.cc +13 -7
- data/src/core/lib/transport/handshaker.cc +3 -3
- data/src/core/lib/transport/http_connect_handshaker.cc +4 -4
- data/src/core/lib/transport/tcp_connect_handshaker.cc +2 -2
- data/src/core/lib/transport/transport.cc +0 -3
- data/src/core/lib/transport/transport.h +20 -14
- data/src/core/lib/transport/transport_fwd.h +20 -0
- data/src/core/lib/transport/transport_impl.h +1 -0
- data/src/core/lib/transport/transport_op_string.cc +9 -9
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +9 -1
- data/src/core/tsi/fake_transport_security.cc +13 -1
- data/src/core/tsi/fake_transport_security.h +6 -0
- data/src/core/tsi/ssl_transport_security.cc +1 -1
- data/src/core/tsi/transport_security_grpc.cc +3 -2
- data/src/core/tsi/transport_security_grpc.h +5 -2
- data/src/ruby/ext/grpc/ext-export-truffleruby.clang +2 -0
- data/src/ruby/ext/grpc/ext-export-truffleruby.gcc +7 -0
- data/src/ruby/ext/grpc/ext-export.clang +1 -0
- data/src/ruby/ext/grpc/ext-export.gcc +1 -0
- data/src/ruby/ext/grpc/extconf.rb +49 -18
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/errors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
- data/third_party/abseil-cpp/absl/algorithm/container.h +1 -1
- data/third_party/abseil-cpp/absl/base/attributes.h +49 -22
- data/third_party/abseil-cpp/absl/base/casts.h +61 -68
- data/third_party/abseil-cpp/absl/base/config.h +182 -41
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +67 -2
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +3 -3
- data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
- data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +2 -0
- data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
- data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +29 -22
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +13 -12
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +3 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +8 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
- data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
- data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +0 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +6 -7
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -3
- data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
- data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +19 -11
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -0
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +15 -9
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +20 -9
- data/third_party/abseil-cpp/absl/container/internal/common.h +6 -5
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -28
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +68 -20
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +29 -11
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +59 -38
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +4 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +515 -184
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +4 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +3 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +8 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +2 -1
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -18
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +15 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +6 -1
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +46 -7
- data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
- data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -1
- data/third_party/abseil-cpp/absl/hash/hash.h +82 -8
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +218 -23
- data/third_party/abseil-cpp/absl/numeric/bits.h +2 -1
- data/third_party/abseil-cpp/absl/numeric/int128.cc +4 -2
- data/third_party/abseil-cpp/absl/numeric/int128.h +2 -2
- data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +21 -6
- data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +4 -4
- data/third_party/abseil-cpp/absl/random/distributions.h +3 -3
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +3 -0
- data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +2 -1
- data/third_party/abseil-cpp/absl/random/internal/generate_real.h +2 -2
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +59 -48
- data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/randen.h +5 -11
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -2
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +48 -23
- data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +24 -26
- data/third_party/abseil-cpp/absl/random/internal/traits.h +53 -5
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +5 -5
- data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +33 -48
- data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +9 -10
- data/third_party/abseil-cpp/absl/random/poisson_distribution.h +7 -4
- data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -0
- data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -2
- data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/zipf_distribution.h +4 -3
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +17 -0
- data/third_party/abseil-cpp/absl/status/status.cc +174 -2
- data/third_party/abseil-cpp/absl/status/status.h +22 -12
- data/third_party/abseil-cpp/absl/status/statusor.h +9 -3
- data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
- data/third_party/abseil-cpp/absl/strings/cord.cc +194 -913
- data/third_party/abseil-cpp/absl/strings/cord.h +202 -81
- data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
- data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
- data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
- data/third_party/abseil-cpp/absl/strings/cord_buffer.h +572 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +20 -32
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +123 -88
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +149 -49
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +44 -59
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +3 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +4 -2
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +3 -2
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +5 -4
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +7 -74
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +54 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +102 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +58 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +13 -11
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +11 -38
- data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +1 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +4 -2
- data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +6 -5
- data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +38 -7
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +4 -5
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +5 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
- data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
- data/third_party/abseil-cpp/absl/strings/numbers.cc +8 -8
- data/third_party/abseil-cpp/absl/strings/numbers.h +26 -23
- data/third_party/abseil-cpp/absl/strings/str_cat.h +20 -13
- data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
- data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
- data/third_party/abseil-cpp/absl/strings/string_view.cc +2 -13
- data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
- data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
- data/third_party/abseil-cpp/absl/strings/substitute.h +10 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -25
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +75 -40
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +17 -9
- data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +5 -4
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
- data/third_party/abseil-cpp/absl/time/time.h +16 -12
- data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
- data/third_party/abseil-cpp/absl/types/internal/variant.h +3 -3
- data/third_party/abseil-cpp/absl/types/optional.h +17 -14
- data/third_party/abseil-cpp/absl/types/span.h +2 -1
- metadata +37 -13
- data/src/core/lib/slice/slice_split.cc +0 -103
- data/src/core/lib/slice/slice_split.h +0 -36
- data/src/core/lib/transport/byte_stream.cc +0 -165
- data/src/core/lib/transport/byte_stream.h +0 -170
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +0 -140
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +0 -100
- data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
@@ -20,22 +20,53 @@
|
|
20
20
|
|
21
21
|
#include "src/core/ext/transport/inproc/inproc_transport.h"
|
22
22
|
|
23
|
-
#include <
|
24
|
-
|
23
|
+
#include <stdint.h>
|
24
|
+
|
25
|
+
#include <algorithm>
|
26
|
+
#include <memory>
|
27
|
+
#include <new>
|
28
|
+
#include <string>
|
29
|
+
#include <utility>
|
30
|
+
|
31
|
+
#include "absl/status/status.h"
|
32
|
+
#include "absl/status/statusor.h"
|
33
|
+
#include "absl/strings/str_cat.h"
|
34
|
+
#include "absl/strings/string_view.h"
|
35
|
+
#include "absl/types/optional.h"
|
36
|
+
#include "absl/utility/utility.h"
|
37
|
+
|
38
|
+
#include <grpc/grpc.h>
|
39
|
+
#include <grpc/impl/codegen/connectivity_state.h>
|
40
|
+
#include <grpc/status.h>
|
25
41
|
#include <grpc/support/alloc.h>
|
26
|
-
#include <grpc/support/
|
42
|
+
#include <grpc/support/log.h>
|
27
43
|
#include <grpc/support/sync.h>
|
28
|
-
#include <grpc/support/time.h>
|
29
44
|
|
30
45
|
#include "src/core/lib/channel/channel_args.h"
|
31
|
-
#include "src/core/lib/
|
32
|
-
#include "src/core/lib/
|
33
|
-
#include "src/core/lib/
|
46
|
+
#include "src/core/lib/channel/channel_args_preconditioning.h"
|
47
|
+
#include "src/core/lib/channel/channelz.h"
|
48
|
+
#include "src/core/lib/config/core_configuration.h"
|
49
|
+
#include "src/core/lib/gpr/useful.h"
|
50
|
+
#include "src/core/lib/gprpp/debug_location.h"
|
51
|
+
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
52
|
+
#include "src/core/lib/gprpp/time.h"
|
53
|
+
#include "src/core/lib/iomgr/closure.h"
|
54
|
+
#include "src/core/lib/iomgr/endpoint.h"
|
55
|
+
#include "src/core/lib/iomgr/error.h"
|
56
|
+
#include "src/core/lib/iomgr/exec_ctx.h"
|
57
|
+
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
58
|
+
#include "src/core/lib/iomgr/pollset.h"
|
59
|
+
#include "src/core/lib/resource_quota/arena.h"
|
60
|
+
#include "src/core/lib/slice/slice.h"
|
61
|
+
#include "src/core/lib/slice/slice_buffer.h"
|
34
62
|
#include "src/core/lib/surface/api_trace.h"
|
35
63
|
#include "src/core/lib/surface/channel.h"
|
64
|
+
#include "src/core/lib/surface/channel_stack_type.h"
|
36
65
|
#include "src/core/lib/surface/server.h"
|
37
66
|
#include "src/core/lib/transport/connectivity_state.h"
|
38
|
-
#include "src/core/lib/transport/
|
67
|
+
#include "src/core/lib/transport/metadata_batch.h"
|
68
|
+
#include "src/core/lib/transport/transport.h"
|
69
|
+
#include "src/core/lib/transport/transport_fwd.h"
|
39
70
|
#include "src/core/lib/transport/transport_impl.h"
|
40
71
|
|
41
72
|
#define INPROC_LOG(...) \
|
@@ -56,6 +87,10 @@ void fill_in_metadata(inproc_stream* s, const grpc_metadata_batch* metadata,
|
|
56
87
|
uint32_t flags, grpc_metadata_batch* out_md,
|
57
88
|
uint32_t* outflags, bool* markfilled);
|
58
89
|
|
90
|
+
void ResetSendMessage(grpc_transport_stream_op_batch* batch) {
|
91
|
+
absl::exchange(batch->payload->send_message.send_message, nullptr)->Clear();
|
92
|
+
}
|
93
|
+
|
59
94
|
struct shared_mu {
|
60
95
|
shared_mu() {
|
61
96
|
// Share one lock between both sides since both sides get affected
|
@@ -175,7 +210,7 @@ struct inproc_stream {
|
|
175
210
|
cs->write_buffer_trailing_md.Clear();
|
176
211
|
cs->write_buffer_trailing_md_filled = false;
|
177
212
|
}
|
178
|
-
if (cs->write_buffer_cancel_error
|
213
|
+
if (!GRPC_ERROR_IS_NONE(cs->write_buffer_cancel_error)) {
|
179
214
|
cancel_other_error = cs->write_buffer_cancel_error;
|
180
215
|
cs->write_buffer_cancel_error = GRPC_ERROR_NONE;
|
181
216
|
maybe_process_ops_locked(this, cancel_other_error);
|
@@ -190,10 +225,6 @@ struct inproc_stream {
|
|
190
225
|
GRPC_ERROR_UNREF(cancel_self_error);
|
191
226
|
GRPC_ERROR_UNREF(cancel_other_error);
|
192
227
|
|
193
|
-
if (recv_inited) {
|
194
|
-
grpc_slice_buffer_destroy_internal(&recv_message);
|
195
|
-
}
|
196
|
-
|
197
228
|
t->unref();
|
198
229
|
}
|
199
230
|
|
@@ -247,10 +278,6 @@ struct inproc_stream {
|
|
247
278
|
grpc_transport_stream_op_batch* recv_message_op = nullptr;
|
248
279
|
grpc_transport_stream_op_batch* recv_trailing_md_op = nullptr;
|
249
280
|
|
250
|
-
grpc_slice_buffer recv_message;
|
251
|
-
grpc_core::ManualConstructor<grpc_core::SliceBufferByteStream> recv_stream;
|
252
|
-
bool recv_inited = false;
|
253
|
-
|
254
281
|
bool initial_md_sent = false;
|
255
282
|
bool trailing_md_sent = false;
|
256
283
|
bool initial_md_recvd = false;
|
@@ -324,8 +351,8 @@ void fill_in_metadata(inproc_stream* s, const grpc_metadata_batch* metadata,
|
|
324
351
|
}
|
325
352
|
|
326
353
|
// TODO(ctiller): copy the metadata batch, don't rely on a bespoke copy
|
327
|
-
// function. Can only do this once mdelems are out of the way though, too
|
328
|
-
// edge cases otherwise.
|
354
|
+
// function. Can only do this once mdelems are out of the way though, too
|
355
|
+
// many edge cases otherwise.
|
329
356
|
out_md->Clear();
|
330
357
|
CopySink sink(out_md);
|
331
358
|
metadata->Encode(&sink);
|
@@ -406,7 +433,7 @@ void complete_if_batch_end_locked(inproc_stream* s, grpc_error_handle error,
|
|
406
433
|
}
|
407
434
|
|
408
435
|
void maybe_process_ops_locked(inproc_stream* s, grpc_error_handle error) {
|
409
|
-
if (s && (error
|
436
|
+
if (s && (!GRPC_ERROR_IS_NONE(error) || s->ops_needed)) {
|
410
437
|
s->ops_needed = false;
|
411
438
|
op_state_machine_locked(s, error);
|
412
439
|
}
|
@@ -430,19 +457,19 @@ void fail_helper_locked(inproc_stream* s, grpc_error_handle error) {
|
|
430
457
|
(void)fill_in_metadata(s, &fake_md, 0, dest, nullptr, destfilled);
|
431
458
|
|
432
459
|
if (other != nullptr) {
|
433
|
-
if (other->cancel_other_error
|
460
|
+
if (GRPC_ERROR_IS_NONE(other->cancel_other_error)) {
|
434
461
|
other->cancel_other_error = GRPC_ERROR_REF(error);
|
435
462
|
}
|
436
463
|
maybe_process_ops_locked(other, error);
|
437
|
-
} else if (s->write_buffer_cancel_error
|
464
|
+
} else if (GRPC_ERROR_IS_NONE(s->write_buffer_cancel_error)) {
|
438
465
|
s->write_buffer_cancel_error = GRPC_ERROR_REF(error);
|
439
466
|
}
|
440
467
|
}
|
441
468
|
if (s->recv_initial_md_op) {
|
442
469
|
grpc_error_handle err;
|
443
470
|
if (!s->t->is_client) {
|
444
|
-
// If this is a server, provide initial metadata with a path and
|
445
|
-
// since it expects that as well as no error yet
|
471
|
+
// If this is a server, provide initial metadata with a path and
|
472
|
+
// authority since it expects that as well as no error yet
|
446
473
|
grpc_metadata_batch fake_md(s->arena);
|
447
474
|
fake_md.Set(grpc_core::HttpPathMetadata(),
|
448
475
|
grpc_core::Slice::FromStaticString("/"));
|
@@ -501,7 +528,7 @@ void fail_helper_locked(inproc_stream* s, grpc_error_handle error) {
|
|
501
528
|
s->recv_message_op = nullptr;
|
502
529
|
}
|
503
530
|
if (s->send_message_op) {
|
504
|
-
s->send_message_op
|
531
|
+
ResetSendMessage(s->send_message_op);
|
505
532
|
complete_if_batch_end_locked(
|
506
533
|
s, error, s->send_message_op,
|
507
534
|
"fail_helper scheduling send-message-on-complete");
|
@@ -543,35 +570,11 @@ void fail_helper_locked(inproc_stream* s, grpc_error_handle error) {
|
|
543
570
|
// synchronously. That assumption is true today but may not always be
|
544
571
|
// true in the future.
|
545
572
|
void message_transfer_locked(inproc_stream* sender, inproc_stream* receiver) {
|
546
|
-
|
547
|
-
sender->send_message_op->payload->send_message.send_message
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
grpc_slice_buffer_init(&receiver->recv_message);
|
552
|
-
receiver->recv_inited = true;
|
553
|
-
do {
|
554
|
-
grpc_slice message_slice;
|
555
|
-
grpc_closure unused;
|
556
|
-
GPR_ASSERT(
|
557
|
-
sender->send_message_op->payload->send_message.send_message->Next(
|
558
|
-
SIZE_MAX, &unused));
|
559
|
-
grpc_error_handle error =
|
560
|
-
sender->send_message_op->payload->send_message.send_message->Pull(
|
561
|
-
&message_slice);
|
562
|
-
if (error != GRPC_ERROR_NONE) {
|
563
|
-
cancel_stream_locked(sender, GRPC_ERROR_REF(error));
|
564
|
-
break;
|
565
|
-
}
|
566
|
-
GPR_ASSERT(error == GRPC_ERROR_NONE);
|
567
|
-
remaining -= GRPC_SLICE_LENGTH(message_slice);
|
568
|
-
grpc_slice_buffer_add(&receiver->recv_message, message_slice);
|
569
|
-
} while (remaining > 0);
|
570
|
-
sender->send_message_op->payload->send_message.send_message.reset();
|
571
|
-
|
572
|
-
receiver->recv_stream.Init(&receiver->recv_message, 0);
|
573
|
-
receiver->recv_message_op->payload->recv_message.recv_message->reset(
|
574
|
-
receiver->recv_stream.get());
|
573
|
+
*receiver->recv_message_op->payload->recv_message.recv_message =
|
574
|
+
std::move(*sender->send_message_op->payload->send_message.send_message);
|
575
|
+
*receiver->recv_message_op->payload->recv_message.flags =
|
576
|
+
sender->send_message_op->payload->send_message.flags;
|
577
|
+
|
575
578
|
INPROC_LOG(GPR_INFO, "message_transfer_locked %p scheduling message-ready",
|
576
579
|
receiver);
|
577
580
|
grpc_core::ExecCtx::Run(
|
@@ -603,13 +606,13 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
603
606
|
// cancellation takes precedence
|
604
607
|
inproc_stream* other = s->other_side;
|
605
608
|
|
606
|
-
if (s->cancel_self_error
|
609
|
+
if (!GRPC_ERROR_IS_NONE(s->cancel_self_error)) {
|
607
610
|
fail_helper_locked(s, GRPC_ERROR_REF(s->cancel_self_error));
|
608
611
|
goto done;
|
609
|
-
} else if (s->cancel_other_error
|
612
|
+
} else if (!GRPC_ERROR_IS_NONE(s->cancel_other_error)) {
|
610
613
|
fail_helper_locked(s, GRPC_ERROR_REF(s->cancel_other_error));
|
611
614
|
goto done;
|
612
|
-
} else if (error
|
615
|
+
} else if (!GRPC_ERROR_IS_NONE(error)) {
|
613
616
|
fail_helper_locked(s, GRPC_ERROR_REF(error));
|
614
617
|
goto done;
|
615
618
|
}
|
@@ -620,7 +623,7 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
620
623
|
maybe_process_ops_locked(other, GRPC_ERROR_NONE);
|
621
624
|
} else if (!s->t->is_client && s->trailing_md_sent) {
|
622
625
|
// A server send will never be matched if the server already sent status
|
623
|
-
s->send_message_op
|
626
|
+
ResetSendMessage(s->send_message_op);
|
624
627
|
complete_if_batch_end_locked(
|
625
628
|
s, GRPC_ERROR_NONE, s->send_message_op,
|
626
629
|
"op_state_machine scheduling send-message-on-complete case 1");
|
@@ -761,7 +764,7 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
761
764
|
if (s->recv_message_op != nullptr) {
|
762
765
|
// This message needs to be wrapped up because it will never be
|
763
766
|
// satisfied
|
764
|
-
|
767
|
+
s->recv_message_op->payload->recv_message.recv_message->reset();
|
765
768
|
INPROC_LOG(GPR_INFO, "op_state_machine %p scheduling message-ready", s);
|
766
769
|
grpc_core::ExecCtx::Run(
|
767
770
|
DEBUG_LOCATION,
|
@@ -775,7 +778,7 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
775
778
|
if ((s->trailing_md_sent || s->t->is_client) && s->send_message_op) {
|
776
779
|
// Nothing further will try to receive from this stream, so finish off
|
777
780
|
// any outstanding send_message op
|
778
|
-
s->send_message_op
|
781
|
+
ResetSendMessage(s->send_message_op);
|
779
782
|
s->send_message_op->payload->send_message.stream_write_closed = true;
|
780
783
|
complete_if_batch_end_locked(
|
781
784
|
s, new_err, s->send_message_op,
|
@@ -795,7 +798,8 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
795
798
|
// We should schedule the recv_trailing_md_op completion if
|
796
799
|
// 1. this stream is the client-side
|
797
800
|
// 2. this stream is the server-side AND has already sent its trailing md
|
798
|
-
// (If the server hasn't already sent its trailing md, it doesn't
|
801
|
+
// (If the server hasn't already sent its trailing md, it doesn't
|
802
|
+
// have
|
799
803
|
// a final status, so don't mark this op complete)
|
800
804
|
if (s->t->is_client || s->trailing_md_sent) {
|
801
805
|
grpc_core::ExecCtx::Run(
|
@@ -840,7 +844,7 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
840
844
|
// No further message will come on this stream, so finish off the
|
841
845
|
// recv_message_op
|
842
846
|
INPROC_LOG(GPR_INFO, "op_state_machine %p scheduling message-ready", s);
|
843
|
-
|
847
|
+
s->recv_message_op->payload->recv_message.recv_message->reset();
|
844
848
|
grpc_core::ExecCtx::Run(
|
845
849
|
DEBUG_LOCATION,
|
846
850
|
s->recv_message_op->payload->recv_message.recv_message_ready,
|
@@ -853,7 +857,7 @@ void op_state_machine_locked(inproc_stream* s, grpc_error_handle error) {
|
|
853
857
|
if (s->trailing_md_recvd && s->send_message_op && s->t->is_client) {
|
854
858
|
// Nothing further will try to receive from this stream, so finish off
|
855
859
|
// any outstanding send_message op
|
856
|
-
s->send_message_op
|
860
|
+
ResetSendMessage(s->send_message_op);
|
857
861
|
complete_if_batch_end_locked(
|
858
862
|
s, new_err, s->send_message_op,
|
859
863
|
"op_state_machine scheduling send-message-on-complete case 3");
|
@@ -881,7 +885,7 @@ bool cancel_stream_locked(inproc_stream* s, grpc_error_handle error) {
|
|
881
885
|
bool ret = false; // was the cancel accepted
|
882
886
|
INPROC_LOG(GPR_INFO, "cancel_stream %p with %s", s,
|
883
887
|
grpc_error_std_string(error).c_str());
|
884
|
-
if (s->cancel_self_error
|
888
|
+
if (GRPC_ERROR_IS_NONE(s->cancel_self_error)) {
|
885
889
|
ret = true;
|
886
890
|
s->cancel_self_error = GRPC_ERROR_REF(error);
|
887
891
|
// Catch current value of other before it gets closed off
|
@@ -901,11 +905,11 @@ bool cancel_stream_locked(inproc_stream* s, grpc_error_handle error) {
|
|
901
905
|
(void)fill_in_metadata(s, &cancel_md, 0, dest, nullptr, destfilled);
|
902
906
|
|
903
907
|
if (other != nullptr) {
|
904
|
-
if (other->cancel_other_error
|
908
|
+
if (GRPC_ERROR_IS_NONE(other->cancel_other_error)) {
|
905
909
|
other->cancel_other_error = GRPC_ERROR_REF(s->cancel_self_error);
|
906
910
|
}
|
907
911
|
maybe_process_ops_locked(other, other->cancel_other_error);
|
908
|
-
} else if (s->write_buffer_cancel_error
|
912
|
+
} else if (GRPC_ERROR_IS_NONE(s->write_buffer_cancel_error)) {
|
909
913
|
s->write_buffer_cancel_error = GRPC_ERROR_REF(s->cancel_self_error);
|
910
914
|
}
|
911
915
|
|
@@ -968,7 +972,7 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
968
972
|
// this function is responsible to make sure that that field gets unref'ed
|
969
973
|
cancel_stream_locked(s, op->payload->cancel_stream.cancel_error);
|
970
974
|
// this op can complete without an error
|
971
|
-
} else if (s->cancel_self_error
|
975
|
+
} else if (!GRPC_ERROR_IS_NONE(s->cancel_self_error)) {
|
972
976
|
// already self-canceled so still give it an error
|
973
977
|
error = GRPC_ERROR_REF(s->cancel_self_error);
|
974
978
|
} else {
|
@@ -983,12 +987,12 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
983
987
|
}
|
984
988
|
|
985
989
|
inproc_stream* other = s->other_side;
|
986
|
-
if (error
|
990
|
+
if (GRPC_ERROR_IS_NONE(error) &&
|
987
991
|
(op->send_initial_metadata || op->send_trailing_metadata)) {
|
988
992
|
if (s->t->is_closed) {
|
989
993
|
error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Endpoint already shutdown");
|
990
994
|
}
|
991
|
-
if (error
|
995
|
+
if (GRPC_ERROR_IS_NONE(error) && op->send_initial_metadata) {
|
992
996
|
grpc_metadata_batch* dest = (other == nullptr)
|
993
997
|
? &s->write_buffer_initial_md
|
994
998
|
: &other->to_read_initial_md;
|
@@ -1022,7 +1026,7 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
1022
1026
|
}
|
1023
1027
|
}
|
1024
1028
|
|
1025
|
-
if (error
|
1029
|
+
if (GRPC_ERROR_IS_NONE(error) &&
|
1026
1030
|
(op->send_message || op->send_trailing_metadata ||
|
1027
1031
|
op->recv_initial_metadata || op->recv_message ||
|
1028
1032
|
op->recv_trailing_metadata)) {
|
@@ -1062,11 +1066,11 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
1062
1066
|
s->ops_needed = true;
|
1063
1067
|
}
|
1064
1068
|
} else {
|
1065
|
-
if (error
|
1066
|
-
// Consume any send message that was sent here but that we are not
|
1067
|
-
// to the other side
|
1069
|
+
if (!GRPC_ERROR_IS_NONE(error)) {
|
1070
|
+
// Consume any send message that was sent here but that we are not
|
1071
|
+
// pushing to the other side
|
1068
1072
|
if (op->send_message) {
|
1069
|
-
op
|
1073
|
+
ResetSendMessage(op);
|
1070
1074
|
}
|
1071
1075
|
// Schedule op's closures that we didn't push to op state machine
|
1072
1076
|
if (op->recv_initial_metadata) {
|
@@ -1102,10 +1106,10 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
|
|
1102
1106
|
GRPC_ERROR_REF(error));
|
1103
1107
|
}
|
1104
1108
|
if (op->recv_trailing_metadata) {
|
1105
|
-
INPROC_LOG(
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
+
INPROC_LOG(GPR_INFO,
|
1110
|
+
"perform_stream_op error %p scheduling "
|
1111
|
+
"trailing-metadata-ready %s",
|
1112
|
+
s, grpc_error_std_string(error).c_str());
|
1109
1113
|
grpc_core::ExecCtx::Run(
|
1110
1114
|
DEBUG_LOCATION,
|
1111
1115
|
op->payload->recv_trailing_metadata.recv_trailing_metadata_ready,
|
@@ -1158,11 +1162,11 @@ void perform_transport_op(grpc_transport* gt, grpc_transport_op* op) {
|
|
1158
1162
|
}
|
1159
1163
|
|
1160
1164
|
bool do_close = false;
|
1161
|
-
if (op->goaway_error
|
1165
|
+
if (!GRPC_ERROR_IS_NONE(op->goaway_error)) {
|
1162
1166
|
do_close = true;
|
1163
1167
|
GRPC_ERROR_UNREF(op->goaway_error);
|
1164
1168
|
}
|
1165
|
-
if (op->disconnect_with_error
|
1169
|
+
if (!GRPC_ERROR_IS_NONE(op->disconnect_with_error)) {
|
1166
1170
|
do_close = true;
|
1167
1171
|
GRPC_ERROR_UNREF(op->disconnect_with_error);
|
1168
1172
|
}
|
@@ -1276,7 +1280,7 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
|
|
1276
1280
|
grpc_error_handle error = core_server->SetupTransport(
|
1277
1281
|
server_transport, nullptr, server_args, nullptr);
|
1278
1282
|
grpc_channel* channel = nullptr;
|
1279
|
-
if (error
|
1283
|
+
if (GRPC_ERROR_IS_NONE(error)) {
|
1280
1284
|
auto new_channel = grpc_core::Channel::Create(
|
1281
1285
|
"inproc", grpc_core::ChannelArgs::FromC(client_args),
|
1282
1286
|
GRPC_CLIENT_DIRECT_CHANNEL, client_transport);
|
@@ -21,7 +21,9 @@
|
|
21
21
|
|
22
22
|
#include <grpc/support/port_platform.h>
|
23
23
|
|
24
|
-
#include
|
24
|
+
#include <grpc/impl/codegen/grpc_types.h>
|
25
|
+
|
26
|
+
#include "src/core/lib/debug/trace.h"
|
25
27
|
|
26
28
|
grpc_channel* grpc_inproc_channel_create(grpc_server* server,
|
27
29
|
const grpc_channel_args* args,
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/* This file was generated by upbc (the upb compiler) from the input
|
2
|
+
* file:
|
3
|
+
*
|
4
|
+
* envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto
|
5
|
+
*
|
6
|
+
* Do not edit -- your changes will be discarded when the file is
|
7
|
+
* regenerated. */
|
8
|
+
|
9
|
+
#include <stddef.h>
|
10
|
+
#include "upb/msg_internal.h"
|
11
|
+
#include "envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h"
|
12
|
+
#include "google/protobuf/wrappers.upb.h"
|
13
|
+
#include "udpa/annotations/status.upb.h"
|
14
|
+
#include "validate/validate.upb.h"
|
15
|
+
|
16
|
+
#include "upb/port_def.inc"
|
17
|
+
|
18
|
+
static const upb_MiniTable_Sub envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_submsgs[3] = {
|
19
|
+
{.submsg = &google_protobuf_UInt64Value_msginit},
|
20
|
+
{.submsg = &google_protobuf_UInt64Value_msginit},
|
21
|
+
{.submsg = &google_protobuf_UInt32Value_msginit},
|
22
|
+
};
|
23
|
+
|
24
|
+
static const upb_MiniTable_Field envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash__fields[5] = {
|
25
|
+
{1, UPB_SIZE(4, 4), UPB_SIZE(0, 0), kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
|
26
|
+
{2, UPB_SIZE(12, 16), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
27
|
+
{3, UPB_SIZE(16, 24), UPB_SIZE(2, 2), 1, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
28
|
+
{4, UPB_SIZE(8, 8), UPB_SIZE(0, 0), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
|
29
|
+
{5, UPB_SIZE(20, 32), UPB_SIZE(3, 3), 2, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
30
|
+
};
|
31
|
+
|
32
|
+
const upb_MiniTable envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit = {
|
33
|
+
&envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_submsgs[0],
|
34
|
+
&envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash__fields[0],
|
35
|
+
UPB_SIZE(24, 40), 5, kUpb_ExtMode_NonExtendable, 5, 255, 0,
|
36
|
+
};
|
37
|
+
|
38
|
+
static const upb_MiniTable *messages_layout[1] = {
|
39
|
+
&envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit,
|
40
|
+
};
|
41
|
+
|
42
|
+
const upb_MiniTable_File envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_upb_file_layout = {
|
43
|
+
messages_layout,
|
44
|
+
NULL,
|
45
|
+
NULL,
|
46
|
+
1,
|
47
|
+
0,
|
48
|
+
0,
|
49
|
+
};
|
50
|
+
|
51
|
+
#include "upb/port_undef.inc"
|
52
|
+
|
@@ -0,0 +1,164 @@
|
|
1
|
+
/* This file was generated by upbc (the upb compiler) from the input
|
2
|
+
* file:
|
3
|
+
*
|
4
|
+
* envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto
|
5
|
+
*
|
6
|
+
* Do not edit -- your changes will be discarded when the file is
|
7
|
+
* regenerated. */
|
8
|
+
|
9
|
+
#ifndef ENVOY_EXTENSIONS_LOAD_BALANCING_POLICIES_RING_HASH_V3_RING_HASH_PROTO_UPB_H_
|
10
|
+
#define ENVOY_EXTENSIONS_LOAD_BALANCING_POLICIES_RING_HASH_V3_RING_HASH_PROTO_UPB_H_
|
11
|
+
|
12
|
+
#include "upb/msg_internal.h"
|
13
|
+
#include "upb/decode.h"
|
14
|
+
#include "upb/decode_fast.h"
|
15
|
+
#include "upb/encode.h"
|
16
|
+
|
17
|
+
#include "upb/port_def.inc"
|
18
|
+
|
19
|
+
#ifdef __cplusplus
|
20
|
+
extern "C" {
|
21
|
+
#endif
|
22
|
+
|
23
|
+
struct envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash;
|
24
|
+
typedef struct envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash;
|
25
|
+
extern const upb_MiniTable envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit;
|
26
|
+
struct google_protobuf_UInt32Value;
|
27
|
+
struct google_protobuf_UInt64Value;
|
28
|
+
extern const upb_MiniTable google_protobuf_UInt32Value_msginit;
|
29
|
+
extern const upb_MiniTable google_protobuf_UInt64Value_msginit;
|
30
|
+
|
31
|
+
typedef enum {
|
32
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_DEFAULT_HASH = 0,
|
33
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_XX_HASH = 1,
|
34
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_MURMUR_HASH_2 = 2
|
35
|
+
} envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_HashFunction;
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
/* envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash */
|
40
|
+
|
41
|
+
UPB_INLINE envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_new(upb_Arena* arena) {
|
42
|
+
return (envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash*)_upb_Message_New(&envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit, arena);
|
43
|
+
}
|
44
|
+
UPB_INLINE envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_parse(const char* buf, size_t size, upb_Arena* arena) {
|
45
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* ret = envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_new(arena);
|
46
|
+
if (!ret) return NULL;
|
47
|
+
if (upb_Decode(buf, size, ret, &envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit, NULL, 0, arena) != kUpb_DecodeStatus_Ok) {
|
48
|
+
return NULL;
|
49
|
+
}
|
50
|
+
return ret;
|
51
|
+
}
|
52
|
+
UPB_INLINE envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_parse_ex(const char* buf, size_t size,
|
53
|
+
const upb_ExtensionRegistry* extreg,
|
54
|
+
int options, upb_Arena* arena) {
|
55
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* ret = envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_new(arena);
|
56
|
+
if (!ret) return NULL;
|
57
|
+
if (upb_Decode(buf, size, ret, &envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit, extreg, options, arena) !=
|
58
|
+
kUpb_DecodeStatus_Ok) {
|
59
|
+
return NULL;
|
60
|
+
}
|
61
|
+
return ret;
|
62
|
+
}
|
63
|
+
UPB_INLINE char* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_serialize(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg, upb_Arena* arena, size_t* len) {
|
64
|
+
return upb_Encode(msg, &envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit, 0, arena, len);
|
65
|
+
}
|
66
|
+
UPB_INLINE char* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_serialize_ex(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg, int options,
|
67
|
+
upb_Arena* arena, size_t* len) {
|
68
|
+
return upb_Encode(msg, &envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_msginit, options, arena, len);
|
69
|
+
}
|
70
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_clear_hash_function(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
71
|
+
*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
|
72
|
+
}
|
73
|
+
UPB_INLINE int32_t envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_hash_function(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
74
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
|
75
|
+
}
|
76
|
+
UPB_INLINE bool envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_has_minimum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
77
|
+
return _upb_hasbit(msg, 1);
|
78
|
+
}
|
79
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_clear_minimum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
80
|
+
*UPB_PTR_AT(msg, UPB_SIZE(12, 16), const upb_Message*) = NULL;
|
81
|
+
}
|
82
|
+
UPB_INLINE const struct google_protobuf_UInt64Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_minimum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
83
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const struct google_protobuf_UInt64Value*);
|
84
|
+
}
|
85
|
+
UPB_INLINE bool envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_has_maximum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
86
|
+
return _upb_hasbit(msg, 2);
|
87
|
+
}
|
88
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_clear_maximum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
89
|
+
*UPB_PTR_AT(msg, UPB_SIZE(16, 24), const upb_Message*) = NULL;
|
90
|
+
}
|
91
|
+
UPB_INLINE const struct google_protobuf_UInt64Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_maximum_ring_size(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
92
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_UInt64Value*);
|
93
|
+
}
|
94
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_clear_use_hostname_for_hashing(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
95
|
+
*UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
|
96
|
+
}
|
97
|
+
UPB_INLINE bool envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_use_hostname_for_hashing(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
98
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool);
|
99
|
+
}
|
100
|
+
UPB_INLINE bool envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_has_hash_balance_factor(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
101
|
+
return _upb_hasbit(msg, 3);
|
102
|
+
}
|
103
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_clear_hash_balance_factor(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
104
|
+
*UPB_PTR_AT(msg, UPB_SIZE(20, 32), const upb_Message*) = NULL;
|
105
|
+
}
|
106
|
+
UPB_INLINE const struct google_protobuf_UInt32Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_hash_balance_factor(const envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg) {
|
107
|
+
return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_UInt32Value*);
|
108
|
+
}
|
109
|
+
|
110
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_hash_function(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash *msg, int32_t value) {
|
111
|
+
*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value;
|
112
|
+
}
|
113
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_minimum_ring_size(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash *msg, struct google_protobuf_UInt64Value* value) {
|
114
|
+
_upb_sethas(msg, 1);
|
115
|
+
*UPB_PTR_AT(msg, UPB_SIZE(12, 16), struct google_protobuf_UInt64Value*) = value;
|
116
|
+
}
|
117
|
+
UPB_INLINE struct google_protobuf_UInt64Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_mutable_minimum_ring_size(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg, upb_Arena* arena) {
|
118
|
+
struct google_protobuf_UInt64Value* sub = (struct google_protobuf_UInt64Value*)envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_minimum_ring_size(msg);
|
119
|
+
if (sub == NULL) {
|
120
|
+
sub = (struct google_protobuf_UInt64Value*)_upb_Message_New(&google_protobuf_UInt64Value_msginit, arena);
|
121
|
+
if (!sub) return NULL;
|
122
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_minimum_ring_size(msg, sub);
|
123
|
+
}
|
124
|
+
return sub;
|
125
|
+
}
|
126
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_maximum_ring_size(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash *msg, struct google_protobuf_UInt64Value* value) {
|
127
|
+
_upb_sethas(msg, 2);
|
128
|
+
*UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_UInt64Value*) = value;
|
129
|
+
}
|
130
|
+
UPB_INLINE struct google_protobuf_UInt64Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_mutable_maximum_ring_size(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg, upb_Arena* arena) {
|
131
|
+
struct google_protobuf_UInt64Value* sub = (struct google_protobuf_UInt64Value*)envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_maximum_ring_size(msg);
|
132
|
+
if (sub == NULL) {
|
133
|
+
sub = (struct google_protobuf_UInt64Value*)_upb_Message_New(&google_protobuf_UInt64Value_msginit, arena);
|
134
|
+
if (!sub) return NULL;
|
135
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_maximum_ring_size(msg, sub);
|
136
|
+
}
|
137
|
+
return sub;
|
138
|
+
}
|
139
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_use_hostname_for_hashing(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash *msg, bool value) {
|
140
|
+
*UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
|
141
|
+
}
|
142
|
+
UPB_INLINE void envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_hash_balance_factor(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash *msg, struct google_protobuf_UInt32Value* value) {
|
143
|
+
_upb_sethas(msg, 3);
|
144
|
+
*UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_UInt32Value*) = value;
|
145
|
+
}
|
146
|
+
UPB_INLINE struct google_protobuf_UInt32Value* envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_mutable_hash_balance_factor(envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash* msg, upb_Arena* arena) {
|
147
|
+
struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_hash_balance_factor(msg);
|
148
|
+
if (sub == NULL) {
|
149
|
+
sub = (struct google_protobuf_UInt32Value*)_upb_Message_New(&google_protobuf_UInt32Value_msginit, arena);
|
150
|
+
if (!sub) return NULL;
|
151
|
+
envoy_extensions_load_balancing_policies_ring_hash_v3_RingHash_set_hash_balance_factor(msg, sub);
|
152
|
+
}
|
153
|
+
return sub;
|
154
|
+
}
|
155
|
+
|
156
|
+
extern const upb_MiniTable_File envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_upb_file_layout;
|
157
|
+
|
158
|
+
#ifdef __cplusplus
|
159
|
+
} /* extern "C" */
|
160
|
+
#endif
|
161
|
+
|
162
|
+
#include "upb/port_undef.inc"
|
163
|
+
|
164
|
+
#endif /* ENVOY_EXTENSIONS_LOAD_BALANCING_POLICIES_RING_HASH_V3_RING_HASH_PROTO_UPB_H_ */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/* This file was generated by upbc (the upb compiler) from the input
|
2
|
+
* file:
|
3
|
+
*
|
4
|
+
* envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.proto
|
5
|
+
*
|
6
|
+
* Do not edit -- your changes will be discarded when the file is
|
7
|
+
* regenerated. */
|
8
|
+
|
9
|
+
#include <stddef.h>
|
10
|
+
#include "upb/msg_internal.h"
|
11
|
+
#include "envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h"
|
12
|
+
#include "envoy/config/cluster/v3/cluster.upb.h"
|
13
|
+
#include "udpa/annotations/status.upb.h"
|
14
|
+
#include "validate/validate.upb.h"
|
15
|
+
|
16
|
+
#include "upb/port_def.inc"
|
17
|
+
|
18
|
+
static const upb_MiniTable_Sub envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality_submsgs[1] = {
|
19
|
+
{.submsg = &envoy_config_cluster_v3_LoadBalancingPolicy_msginit},
|
20
|
+
};
|
21
|
+
|
22
|
+
static const upb_MiniTable_Field envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality__fields[1] = {
|
23
|
+
{1, UPB_SIZE(4, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
24
|
+
};
|
25
|
+
|
26
|
+
const upb_MiniTable envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality_msginit = {
|
27
|
+
&envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality_submsgs[0],
|
28
|
+
&envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality__fields[0],
|
29
|
+
UPB_SIZE(8, 24), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
|
30
|
+
};
|
31
|
+
|
32
|
+
static const upb_MiniTable *messages_layout[1] = {
|
33
|
+
&envoy_extensions_load_balancing_policies_wrr_locality_v3_WrrLocality_msginit,
|
34
|
+
};
|
35
|
+
|
36
|
+
const upb_MiniTable_File envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_upb_file_layout = {
|
37
|
+
messages_layout,
|
38
|
+
NULL,
|
39
|
+
NULL,
|
40
|
+
1,
|
41
|
+
0,
|
42
|
+
0,
|
43
|
+
};
|
44
|
+
|
45
|
+
#include "upb/port_undef.inc"
|
46
|
+
|