grpc 1.66.0 → 1.67.0.pre1
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.
- checksums.yaml +4 -4
- data/Makefile +19 -10
- data/include/grpc/credentials.h +1 -1
- data/include/grpc/event_engine/README.md +1 -1
- data/include/grpc/event_engine/internal/slice_cast.h +1 -1
- data/include/grpc/event_engine/slice.h +0 -1
- data/include/grpc/event_engine/slice_buffer.h +0 -1
- data/include/grpc/grpc_crl_provider.h +1 -1
- data/include/grpc/impl/channel_arg_names.h +1 -1
- data/include/grpc/support/log.h +34 -32
- data/include/grpc/support/sync_generic.h +2 -4
- data/src/core/channelz/channelz.cc +0 -1
- data/src/core/channelz/channelz_registry.cc +0 -1
- data/src/core/client_channel/client_channel.cc +10 -7
- data/src/core/client_channel/client_channel.h +1 -1
- data/src/core/client_channel/client_channel_filter.cc +21 -18
- data/src/core/client_channel/client_channel_filter.h +1 -1
- data/src/core/client_channel/client_channel_internal.h +0 -2
- data/src/core/client_channel/config_selector.h +0 -1
- data/src/core/client_channel/dynamic_filters.cc +0 -2
- data/src/core/client_channel/local_subchannel_pool.cc +0 -2
- data/src/core/client_channel/retry_filter.h +0 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +175 -257
- data/src/core/client_channel/subchannel.cc +21 -27
- data/src/core/client_channel/subchannel_stream_client.cc +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +8 -9
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +0 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -4
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +167 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +82 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +81 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +87 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +7 -9
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -4
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -7
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +0 -2
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +0 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -8
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +288 -265
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -1
- data/src/core/ext/transport/chttp2/transport/frame.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +37 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +27 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +21 -32
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +6 -8
- data/src/core/ext/transport/chttp2/transport/varint.h +0 -1
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/writing.cc +22 -22
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +431 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +129 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +33 -0
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +16 -0
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +397 -22
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +94 -20
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +2 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +86 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +108 -107
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +101 -78
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +10 -0
- data/src/core/handshaker/handshaker.cc +21 -29
- data/src/core/handshaker/security/secure_endpoint.cc +3 -3
- data/src/core/handshaker/security/security_handshaker.cc +60 -72
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +0 -1
- data/src/core/lib/backoff/backoff.cc +7 -10
- data/src/core/lib/backoff/backoff.h +4 -6
- data/src/core/lib/channel/channel_stack.cc +0 -1
- data/src/core/lib/channel/channel_stack.h +0 -1
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -1
- data/src/core/lib/channel/connected_channel.cc +0 -1
- data/src/core/lib/channel/promise_based_filter.cc +146 -194
- data/src/core/lib/channel/promise_based_filter.h +1 -1
- data/src/core/lib/compression/compression_internal.cc +0 -1
- data/src/core/lib/config/config_vars.cc +11 -1
- data/src/core/lib/config/config_vars.h +8 -0
- data/src/core/lib/config/core_configuration.cc +0 -1
- data/src/core/lib/config/core_configuration.h +0 -1
- data/src/core/lib/debug/event_log.cc +0 -1
- data/src/core/lib/debug/trace_flags.cc +4 -18
- data/src/core/lib/debug/trace_flags.h +2 -5
- data/src/core/lib/debug/trace_impl.h +6 -0
- data/src/core/lib/event_engine/ares_resolver.cc +89 -56
- data/src/core/lib/event_engine/ares_resolver.h +0 -9
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +14 -1
- data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +1 -1
- data/src/core/lib/event_engine/forkable.cc +0 -1
- data/src/core/lib/event_engine/forkable.h +0 -1
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +4 -4
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -1
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +0 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +9 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +0 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -2
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -9
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +0 -1
- data/src/core/lib/event_engine/resolved_address.cc +0 -1
- data/src/core/lib/event_engine/slice.cc +0 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +0 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +3 -5
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +121 -93
- data/src/core/lib/experiments/config.cc +12 -10
- data/src/core/lib/experiments/experiments.cc +45 -66
- data/src/core/lib/experiments/experiments.h +22 -27
- data/src/core/lib/gprpp/chunked_vector.h +0 -1
- data/src/core/lib/gprpp/down_cast.h +0 -1
- data/src/core/lib/gprpp/host_port.cc +0 -1
- data/src/core/lib/gprpp/load_file.cc +0 -1
- data/src/core/lib/gprpp/mpscq.h +0 -1
- data/src/core/lib/gprpp/single_set_ptr.h +0 -1
- data/src/core/lib/gprpp/status_helper.cc +0 -1
- data/src/core/lib/gprpp/sync.h +0 -1
- data/src/core/lib/gprpp/table.h +28 -0
- data/src/core/lib/gprpp/thd.h +0 -1
- data/src/core/lib/gprpp/time.h +0 -1
- data/src/core/lib/gprpp/time_util.cc +0 -1
- data/src/core/lib/gprpp/windows/directory_reader.cc +0 -2
- data/src/core/lib/gprpp/windows/thd.cc +0 -1
- data/src/core/lib/gprpp/work_serializer.cc +23 -34
- data/src/core/lib/iomgr/buffer_list.cc +0 -1
- data/src/core/lib/iomgr/call_combiner.h +6 -8
- data/src/core/lib/iomgr/cfstream_handle.cc +6 -8
- data/src/core/lib/iomgr/closure.h +5 -8
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/endpoint_cfstream.cc +17 -22
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +0 -1
- data/src/core/lib/iomgr/error.h +0 -1
- data/src/core/lib/iomgr/ev_apple.cc +13 -18
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +47 -85
- data/src/core/lib/iomgr/ev_poll_posix.cc +17 -24
- data/src/core/lib/iomgr/ev_posix.cc +55 -44
- data/src/core/lib/iomgr/ev_posix.h +0 -5
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +7 -9
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.cc +6 -9
- data/src/core/lib/iomgr/exec_ctx.h +26 -16
- data/src/core/lib/iomgr/executor.cc +43 -33
- data/src/core/lib/iomgr/fork_windows.cc +0 -1
- data/src/core/lib/iomgr/internal_errqueue.cc +0 -1
- data/src/core/lib/iomgr/iocp_windows.cc +0 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +0 -2
- data/src/core/lib/iomgr/lockfree_event.cc +7 -11
- data/src/core/lib/iomgr/polling_entity.cc +10 -3
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address.cc +0 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +0 -1
- data/src/core/lib/iomgr/resolve_address_windows.cc +0 -1
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +0 -1
- data/src/core/lib/iomgr/socket_mutator.cc +0 -1
- data/src/core/lib/iomgr/socket_utils_linux.cc +0 -2
- data/src/core/lib/iomgr/socket_utils_posix.cc +0 -1
- data/src/core/lib/iomgr/socket_utils_windows.cc +0 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +7 -12
- data/src/core/lib/iomgr/tcp_client_posix.cc +8 -12
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +32 -68
- data/src/core/lib/iomgr/tcp_server_posix.cc +7 -11
- data/src/core/lib/iomgr/tcp_windows.cc +4 -12
- data/src/core/lib/iomgr/timer_generic.cc +46 -65
- data/src/core/lib/iomgr/timer_manager.cc +4 -5
- data/src/core/lib/iomgr/unix_sockets_posix.cc +0 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
- data/src/core/lib/iomgr/vsock.cc +0 -1
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
- data/src/core/lib/promise/activity.h +0 -1
- data/src/core/lib/promise/context.h +0 -1
- data/src/core/lib/promise/detail/join_state.h +44 -44
- data/src/core/lib/promise/detail/seq_state.h +1101 -1356
- data/src/core/lib/promise/for_each.h +8 -15
- data/src/core/lib/promise/interceptor_list.h +17 -27
- data/src/core/lib/promise/latch.h +16 -24
- data/src/core/lib/promise/map.h +1 -1
- data/src/core/lib/promise/party.cc +238 -114
- data/src/core/lib/promise/party.h +105 -308
- data/src/core/lib/promise/pipe.h +3 -4
- data/src/core/lib/promise/poll.h +0 -1
- data/src/core/lib/promise/status_flag.h +0 -1
- data/src/core/lib/resource_quota/connection_quota.cc +0 -1
- data/src/core/lib/resource_quota/memory_quota.cc +11 -19
- data/src/core/lib/resource_quota/memory_quota.h +2 -4
- data/src/core/lib/resource_quota/periodic_update.cc +2 -3
- data/src/core/lib/resource_quota/thread_quota.cc +0 -1
- data/src/core/lib/security/authorization/audit_logging.cc +0 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +0 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +14 -19
- data/src/core/lib/security/authorization/stdout_logger.cc +0 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -1
- data/src/core/lib/security/credentials/call_creds_util.cc +0 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -0
- data/src/core/lib/security/credentials/credentials.h +1 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +322 -324
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +53 -42
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +391 -353
- data/src/core/lib/security/credentials/external/external_account_credentials.h +121 -51
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +83 -44
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +27 -7
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +91 -116
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +14 -17
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -0
- data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
- data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -41
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +163 -259
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +34 -56
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +12 -16
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -1
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +298 -0
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +176 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -1
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -1
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +4 -6
- data/src/core/lib/slice/percent_encoding.cc +0 -1
- data/src/core/lib/slice/slice.cc +0 -1
- data/src/core/lib/slice/slice.h +0 -1
- data/src/core/lib/slice/slice_buffer.cc +0 -1
- data/src/core/lib/slice/slice_internal.h +0 -1
- data/src/core/lib/slice/slice_refcount.h +6 -8
- data/src/core/lib/surface/byte_buffer_reader.cc +0 -1
- data/src/core/lib/surface/call.cc +3 -5
- data/src/core/lib/surface/call_utils.h +0 -1
- data/src/core/lib/surface/channel.cc +0 -1
- data/src/core/lib/surface/channel_create.cc +0 -1
- data/src/core/lib/surface/channel_init.h +0 -1
- data/src/core/lib/surface/client_call.cc +0 -1
- data/src/core/lib/surface/client_call.h +0 -1
- data/src/core/lib/surface/completion_queue.cc +28 -4
- data/src/core/lib/surface/completion_queue_factory.cc +0 -1
- data/src/core/lib/surface/filter_stack_call.cc +9 -9
- data/src/core/lib/surface/filter_stack_call.h +0 -1
- data/src/core/lib/surface/lame_client.cc +0 -1
- data/src/core/lib/surface/server_call.cc +0 -1
- data/src/core/lib/surface/server_call.h +0 -1
- data/src/core/lib/surface/validate_metadata.h +0 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +9 -12
- data/src/core/lib/transport/bdp_estimator.h +6 -8
- data/src/core/lib/transport/call_arena_allocator.cc +2 -16
- data/src/core/lib/transport/call_arena_allocator.h +20 -5
- data/src/core/lib/transport/call_filters.cc +6 -9
- data/src/core/lib/transport/call_spine.h +24 -13
- data/src/core/lib/transport/connectivity_state.cc +34 -42
- data/src/core/lib/transport/metadata_batch.h +41 -1
- data/src/core/lib/transport/timeout_encoding.cc +0 -1
- data/src/core/lib/transport/transport.h +6 -8
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/lib/uri/uri_parser.cc +0 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +55 -71
- data/src/core/load_balancing/health_check_client.cc +31 -42
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +99 -129
- data/src/core/load_balancing/pick_first/pick_first.cc +168 -228
- data/src/core/load_balancing/priority/priority.cc +77 -106
- data/src/core/load_balancing/ring_hash/ring_hash.cc +32 -46
- data/src/core/load_balancing/rls/rls.cc +142 -187
- data/src/core/load_balancing/round_robin/round_robin.cc +36 -55
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +0 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +85 -110
- data/src/core/load_balancing/weighted_target/weighted_target.cc +52 -75
- data/src/core/load_balancing/xds/cds.cc +26 -43
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +57 -54
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +36 -50
- data/src/core/load_balancing/xds/xds_override_host.cc +95 -131
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +15 -23
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -0
- data/src/core/resolver/binder/binder_resolver.cc +0 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +62 -44
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +0 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +110 -89
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +132 -96
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +0 -7
- data/src/core/resolver/dns/dns_resolver_plugin.cc +0 -1
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +40 -39
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -14
- data/src/core/resolver/endpoint_addresses.cc +0 -1
- data/src/core/resolver/fake/fake_resolver.cc +0 -1
- data/src/core/resolver/polling_resolver.cc +6 -15
- data/src/core/resolver/polling_resolver.h +1 -1
- data/src/core/resolver/xds/xds_config.cc +96 -0
- data/src/core/resolver/xds/xds_config.h +109 -0
- data/src/core/resolver/xds/xds_dependency_manager.cc +59 -154
- data/src/core/resolver/xds/xds_dependency_manager.h +1 -69
- data/src/core/resolver/xds/xds_resolver.cc +51 -55
- data/src/core/server/server.cc +2 -2
- data/src/core/server/server_config_selector_filter.cc +0 -1
- data/src/core/server/xds_server_config_fetcher.cc +4 -6
- data/src/core/service_config/service_config_call_data.h +2 -3
- data/src/core/service_config/service_config_channel_arg_filter.cc +0 -1
- data/src/core/service_config/service_config_impl.h +0 -1
- data/src/core/telemetry/call_tracer.cc +0 -1
- data/src/core/telemetry/metrics.h +0 -1
- data/src/core/telemetry/stats_data.cc +67 -0
- data/src/core/telemetry/stats_data.h +48 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +0 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +0 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +0 -1
- data/src/core/tsi/fake_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -1
- data/src/core/util/alloc.cc +0 -1
- data/src/core/util/gcp_metadata_query.cc +0 -1
- data/src/core/util/http_client/httpcli.cc +12 -15
- data/src/core/util/http_client/httpcli.h +16 -11
- data/src/core/util/http_client/parser.cc +3 -4
- data/src/core/util/json/json_reader.cc +0 -1
- data/src/core/util/latent_see.cc +29 -9
- data/src/core/util/latent_see.h +122 -27
- data/src/core/util/log.cc +36 -55
- data/src/core/util/lru_cache.h +104 -0
- data/src/core/util/msys/tmpfile.cc +0 -1
- data/src/core/util/posix/sync.cc +0 -1
- data/src/core/util/posix/time.cc +0 -1
- data/src/core/util/ring_buffer.h +123 -0
- data/src/core/util/spinlock.h +1 -2
- data/src/core/util/string.cc +7 -7
- data/src/core/util/sync.cc +0 -1
- data/src/core/util/sync_abseil.cc +0 -1
- data/src/core/util/time.cc +0 -1
- data/src/core/util/unique_ptr_with_bitset.h +86 -0
- data/src/core/util/useful.h +0 -24
- data/src/core/util/windows/cpu.cc +0 -1
- data/src/core/util/windows/sync.cc +0 -1
- data/src/core/util/windows/time.cc +0 -1
- data/src/core/util/windows/tmpfile.cc +0 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +0 -32
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +0 -5
- data/src/core/xds/grpc/xds_certificate_provider.cc +0 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +11 -16
- data/src/core/xds/grpc/xds_cluster.cc +2 -8
- data/src/core/xds/grpc/xds_cluster.h +4 -4
- data/src/core/xds/grpc/xds_cluster_parser.cc +58 -96
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +0 -1
- data/src/core/xds/grpc/xds_common_types_parser.cc +4 -4
- data/src/core/xds/grpc/xds_common_types_parser.h +17 -0
- data/src/core/xds/grpc/xds_endpoint_parser.cc +14 -14
- data/src/core/xds/grpc/xds_http_fault_filter.cc +15 -6
- data/src/core/xds/grpc/xds_http_fault_filter.h +5 -1
- data/src/core/xds/grpc/xds_http_filter.h +11 -1
- data/src/core/xds/grpc/xds_http_filter_registry.cc +7 -1
- data/src/core/xds/grpc/xds_http_filter_registry.h +8 -1
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +142 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +61 -0
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +14 -6
- data/src/core/xds/grpc/xds_http_rbac_filter.h +5 -1
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +9 -1
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +5 -1
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +14 -16
- data/src/core/xds/grpc/xds_listener_parser.cc +10 -11
- data/src/core/xds/grpc/xds_metadata.cc +62 -0
- data/src/core/xds/grpc/xds_metadata.h +127 -0
- data/src/core/xds/grpc/xds_metadata_parser.cc +143 -0
- data/src/core/xds/grpc/xds_metadata_parser.h +36 -0
- data/src/core/xds/grpc/xds_route_config_parser.cc +12 -17
- data/src/core/xds/grpc/xds_routing.cc +57 -22
- data/src/core/xds/grpc/xds_routing.h +10 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +0 -1
- data/src/core/xds/xds_client/xds_client.cc +124 -165
- data/src/core/xds/xds_client/xds_client_stats.cc +20 -27
- data/src/ruby/ext/grpc/rb_call.c +1 -1
- data/src/ruby/ext/grpc/rb_call_credentials.c +34 -27
- data/src/ruby/ext/grpc/rb_channel.c +22 -16
- data/src/ruby/ext/grpc/rb_event_thread.c +3 -2
- data/src/ruby/ext/grpc/rb_grpc.c +9 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
- data/src/ruby/ext/grpc/rb_server.c +10 -8
- data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/call_spec.rb +53 -40
- data/src/ruby/spec/channel_spec.rb +4 -2
- data/src/ruby/spec/client_server_spec.rb +148 -507
- data/src/ruby/spec/generic/active_call_spec.rb +64 -86
- data/src/ruby/spec/support/services.rb +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand/fork_detect.h → bcm_support.h} +51 -6
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +43 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +72 -23
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +160 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +79 -78
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +89 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c → div.c.inc} +146 -179
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c → random.c.inc} +6 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c → sqrt.c.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c → e_aes.c.inc} +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c → ec_key.c.inc} +11 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c → p256-nistz.c.inc} +104 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +65 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c → ecdsa.c.inc} +52 -107
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +28 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c → rand.c.inc} +26 -40
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c → padding.c.inc} +2 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c → rsa_impl.c.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c → self_check.c.inc} +9 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c → service_indicator.c.inc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +293 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +69 -14
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +73 -0
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +1687 -0
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +90 -0
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +1097 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/fork_detect.c +26 -28
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +19 -3
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +26 -23
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/urandom.c +19 -19
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +14 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +13 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +136 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +246 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +3 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +22 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +35 -5
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -6
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +6 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +6 -1
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -1
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +289 -55
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +69 -38
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +14 -3
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +107 -14
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +44 -16
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +21 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +86 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +7 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +97 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +31 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +6 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +18 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +96 -34
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +15 -5
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +3 -23
- metadata +113 -87
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
- data/src/core/util/android/log.cc +0 -48
- data/src/core/util/linux/log.cc +0 -69
- data/src/core/util/posix/log.cc +0 -69
- data/src/core/util/windows/log.cc +0 -73
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c → aes.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c → aes_nohw.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c → key_wrap.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c → mode_wrappers.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c → add.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c → x86_64-gcc.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c → bn.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c → bytes.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c → cmp.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c → ctx.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c → div_extra.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c → exponentiation.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c → gcd.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c → gcd_extra.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c → generic.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c → jacobi.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c → montgomery.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c → montgomery_inv.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c → mul.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c → prime.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c → rsaz_exp.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c → shift.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c → aead.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c → cipher.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c → e_aesccm.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c → cmac.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c → check.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c → dh.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c → digest.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c → digests.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c → digestsign.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c → ec.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c → ec_montgomery.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c → felem.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c → oct.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c → p224-64.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c → p256.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c → scalar.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c → simple.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c → simple_mul.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c → util.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c → wnaf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c → ecdh.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c → hkdf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c → hmac.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/{md4.c → md4.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/{md5.c → md5.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c → cbc.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c → cfb.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c → ctr.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c → gcm.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c → gcm_nohw.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c → ofb.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c → polyval.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c → ctrdrbg.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c → blinding.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c → rsa.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c → fips.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c → sha1.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c → sha256.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c → sha512.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c → kdf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/getrandom_fillin.h +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '03287f82b7e0d3115f51cb7c52760607489c0f3cc5d5bbad58fe1bc57f1eefcb'
|
|
4
|
+
data.tar.gz: ce0c5ecf916b5a796378650ee14b94b03004a4663341f6f76459f3b420786100
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b21a39f4cc94e54ea2fd64becee2f331f46051fad3ef4727b2061b05e651805362e4f279143aea18c192a168939d380b5f5b9eed9103b2777af08c7071564606
|
|
7
|
+
data.tar.gz: ba50ba9e1ea2d7249d15db7cdd8fa2437b64627ac8e2911da47a0a4a01f00c97287047b3bab12a66cc1cf545eb659c9b0996a5bc6143146e327956729feed9eb
|
data/Makefile
CHANGED
|
@@ -367,8 +367,8 @@ E = @echo
|
|
|
367
367
|
Q = @
|
|
368
368
|
endif
|
|
369
369
|
|
|
370
|
-
CORE_VERSION =
|
|
371
|
-
CPP_VERSION = 1.
|
|
370
|
+
CORE_VERSION = 44.0.0
|
|
371
|
+
CPP_VERSION = 1.67.0-pre1
|
|
372
372
|
|
|
373
373
|
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
|
|
374
374
|
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
|
|
@@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
|
|
|
404
404
|
SHARED_EXT_CPP = dll
|
|
405
405
|
|
|
406
406
|
SHARED_PREFIX =
|
|
407
|
-
SHARED_VERSION_CORE = -
|
|
407
|
+
SHARED_VERSION_CORE = -44
|
|
408
408
|
SHARED_VERSION_CPP = -1
|
|
409
409
|
else ifeq ($(SYSTEM),Darwin)
|
|
410
410
|
EXECUTABLE_SUFFIX =
|
|
@@ -694,6 +694,8 @@ LIBGRPC_SRC = \
|
|
|
694
694
|
src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
|
|
695
695
|
src/core/ext/filters/fault_injection/fault_injection_filter.cc \
|
|
696
696
|
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
|
|
697
|
+
src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc \
|
|
698
|
+
src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc \
|
|
697
699
|
src/core/ext/filters/http/client/http_client_filter.cc \
|
|
698
700
|
src/core/ext/filters/http/client_authority_filter.cc \
|
|
699
701
|
src/core/ext/filters/http/http_filters_plugin.cc \
|
|
@@ -726,7 +728,6 @@ LIBGRPC_SRC = \
|
|
|
726
728
|
src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \
|
|
727
729
|
src/core/ext/transport/chttp2/transport/http2_settings.cc \
|
|
728
730
|
src/core/ext/transport/chttp2/transport/huffsyms.cc \
|
|
729
|
-
src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \
|
|
730
731
|
src/core/ext/transport/chttp2/transport/parsing.cc \
|
|
731
732
|
src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc \
|
|
732
733
|
src/core/ext/transport/chttp2/transport/ping_callbacks.cc \
|
|
@@ -805,6 +806,7 @@ LIBGRPC_SRC = \
|
|
|
805
806
|
src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c \
|
|
806
807
|
src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c \
|
|
807
808
|
src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c \
|
|
809
|
+
src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c \
|
|
808
810
|
src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c \
|
|
809
811
|
src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c \
|
|
810
812
|
src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c \
|
|
@@ -970,6 +972,7 @@ LIBGRPC_SRC = \
|
|
|
970
972
|
src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c \
|
|
971
973
|
src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c \
|
|
972
974
|
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c \
|
|
975
|
+
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c \
|
|
973
976
|
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c \
|
|
974
977
|
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
|
|
975
978
|
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
|
|
@@ -1277,6 +1280,7 @@ LIBGRPC_SRC = \
|
|
|
1277
1280
|
src/core/lib/security/credentials/external/file_external_account_credentials.cc \
|
|
1278
1281
|
src/core/lib/security/credentials/external/url_external_account_credentials.cc \
|
|
1279
1282
|
src/core/lib/security/credentials/fake/fake_credentials.cc \
|
|
1283
|
+
src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc \
|
|
1280
1284
|
src/core/lib/security/credentials/google_default/credentials_generic.cc \
|
|
1281
1285
|
src/core/lib/security/credentials/google_default/google_default_credentials.cc \
|
|
1282
1286
|
src/core/lib/security/credentials/iam/iam_credentials.cc \
|
|
@@ -1296,6 +1300,7 @@ LIBGRPC_SRC = \
|
|
|
1296
1300
|
src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc \
|
|
1297
1301
|
src/core/lib/security/credentials/tls/tls_credentials.cc \
|
|
1298
1302
|
src/core/lib/security/credentials/tls/tls_utils.cc \
|
|
1303
|
+
src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc \
|
|
1299
1304
|
src/core/lib/security/credentials/xds/xds_credentials.cc \
|
|
1300
1305
|
src/core/lib/security/security_connector/alts/alts_security_connector.cc \
|
|
1301
1306
|
src/core/lib/security/security_connector/fake/fake_security_connector.cc \
|
|
@@ -1404,6 +1409,7 @@ LIBGRPC_SRC = \
|
|
|
1404
1409
|
src/core/resolver/resolver.cc \
|
|
1405
1410
|
src/core/resolver/resolver_registry.cc \
|
|
1406
1411
|
src/core/resolver/sockaddr/sockaddr_resolver.cc \
|
|
1412
|
+
src/core/resolver/xds/xds_config.cc \
|
|
1407
1413
|
src/core/resolver/xds/xds_dependency_manager.cc \
|
|
1408
1414
|
src/core/resolver/xds/xds_resolver.cc \
|
|
1409
1415
|
src/core/server/server.cc \
|
|
@@ -1449,7 +1455,6 @@ LIBGRPC_SRC = \
|
|
|
1449
1455
|
src/core/tsi/transport_security.cc \
|
|
1450
1456
|
src/core/tsi/transport_security_grpc.cc \
|
|
1451
1457
|
src/core/util/alloc.cc \
|
|
1452
|
-
src/core/util/android/log.cc \
|
|
1453
1458
|
src/core/util/atm.cc \
|
|
1454
1459
|
src/core/util/gcp_metadata_query.cc \
|
|
1455
1460
|
src/core/util/http_client/format_request.cc \
|
|
@@ -1463,11 +1468,9 @@ LIBGRPC_SRC = \
|
|
|
1463
1468
|
src/core/util/json/json_writer.cc \
|
|
1464
1469
|
src/core/util/latent_see.cc \
|
|
1465
1470
|
src/core/util/linux/cpu.cc \
|
|
1466
|
-
src/core/util/linux/log.cc \
|
|
1467
1471
|
src/core/util/log.cc \
|
|
1468
1472
|
src/core/util/msys/tmpfile.cc \
|
|
1469
1473
|
src/core/util/posix/cpu.cc \
|
|
1470
|
-
src/core/util/posix/log.cc \
|
|
1471
1474
|
src/core/util/posix/string.cc \
|
|
1472
1475
|
src/core/util/posix/sync.cc \
|
|
1473
1476
|
src/core/util/posix/time.cc \
|
|
@@ -1478,7 +1481,6 @@ LIBGRPC_SRC = \
|
|
|
1478
1481
|
src/core/util/time.cc \
|
|
1479
1482
|
src/core/util/time_precise.cc \
|
|
1480
1483
|
src/core/util/windows/cpu.cc \
|
|
1481
|
-
src/core/util/windows/log.cc \
|
|
1482
1484
|
src/core/util/windows/string.cc \
|
|
1483
1485
|
src/core/util/windows/string_util.cc \
|
|
1484
1486
|
src/core/util/windows/sync.cc \
|
|
@@ -1500,11 +1502,14 @@ LIBGRPC_SRC = \
|
|
|
1500
1502
|
src/core/xds/grpc/xds_health_status.cc \
|
|
1501
1503
|
src/core/xds/grpc/xds_http_fault_filter.cc \
|
|
1502
1504
|
src/core/xds/grpc/xds_http_filter_registry.cc \
|
|
1505
|
+
src/core/xds/grpc/xds_http_gcp_authn_filter.cc \
|
|
1503
1506
|
src/core/xds/grpc/xds_http_rbac_filter.cc \
|
|
1504
1507
|
src/core/xds/grpc/xds_http_stateful_session_filter.cc \
|
|
1505
1508
|
src/core/xds/grpc/xds_lb_policy_registry.cc \
|
|
1506
1509
|
src/core/xds/grpc/xds_listener.cc \
|
|
1507
1510
|
src/core/xds/grpc/xds_listener_parser.cc \
|
|
1511
|
+
src/core/xds/grpc/xds_metadata.cc \
|
|
1512
|
+
src/core/xds/grpc/xds_metadata_parser.cc \
|
|
1508
1513
|
src/core/xds/grpc/xds_route_config.cc \
|
|
1509
1514
|
src/core/xds/grpc/xds_route_config_parser.cc \
|
|
1510
1515
|
src/core/xds/grpc/xds_routing.cc \
|
|
@@ -1843,8 +1848,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
|
|
|
1843
1848
|
ifeq ($(SYSTEM),Darwin)
|
|
1844
1849
|
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
|
|
1845
1850
|
else
|
|
1846
|
-
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.
|
|
1847
|
-
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.
|
|
1851
|
+
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.44 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
|
|
1852
|
+
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.44
|
|
1848
1853
|
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
|
|
1849
1854
|
endif
|
|
1850
1855
|
endif
|
|
@@ -1979,6 +1984,8 @@ LIBBORINGSSL_SRC = \
|
|
|
1979
1984
|
third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c \
|
|
1980
1985
|
third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
|
|
1981
1986
|
third_party/boringssl-with-bazel/src/crypto/mem.c \
|
|
1987
|
+
third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c \
|
|
1988
|
+
third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc \
|
|
1982
1989
|
third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
|
|
1983
1990
|
third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c \
|
|
1984
1991
|
third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c \
|
|
@@ -1999,12 +2006,14 @@ LIBBORINGSSL_SRC = \
|
|
|
1999
2006
|
third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c \
|
|
2000
2007
|
third_party/boringssl-with-bazel/src/crypto/pool/pool.c \
|
|
2001
2008
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \
|
|
2009
|
+
third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c \
|
|
2002
2010
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \
|
|
2003
2011
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c \
|
|
2004
2012
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c \
|
|
2005
2013
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \
|
|
2006
2014
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \
|
|
2007
2015
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c \
|
|
2016
|
+
third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c \
|
|
2008
2017
|
third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \
|
|
2009
2018
|
third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \
|
|
2010
2019
|
third_party/boringssl-with-bazel/src/crypto/refcount.c \
|
data/include/grpc/credentials.h
CHANGED
|
@@ -103,7 +103,7 @@ GRPCAPI grpc_call_credentials* grpc_sts_credentials_create(
|
|
|
103
103
|
/** Context that can be used by metadata credentials plugin in order to create
|
|
104
104
|
auth related metadata. */
|
|
105
105
|
typedef struct {
|
|
106
|
-
/** The fully
|
|
106
|
+
/** The fully qualified service url. */
|
|
107
107
|
const char* service_url;
|
|
108
108
|
|
|
109
109
|
/** The method name of the RPC being called (not fully qualified).
|
|
@@ -23,7 +23,7 @@ thresholds. To enable this feature, the memory allocation of read/write buffers
|
|
|
23
23
|
within an EventEngine must be acquired in the form of Slices from
|
|
24
24
|
SliceAllocators. This is covered more fully in the gRFC and code.
|
|
25
25
|
|
|
26
|
-
###
|
|
26
|
+
### Documenting expectations around callback execution
|
|
27
27
|
Some callbacks may be expensive to run. EventEngines should decide on and
|
|
28
28
|
document whether callback execution might block polling operations. This way,
|
|
29
29
|
application developers can plan accordingly (e.g., run their expensive callbacks
|
|
@@ -24,7 +24,7 @@ namespace internal {
|
|
|
24
24
|
// with `SliceCast`. Both ways need to be declared (i.e. if
|
|
25
25
|
// SliceCastable<A,B> exists, you should declare
|
|
26
26
|
// SliceCastable<B,A> too).
|
|
27
|
-
// The type has no members, it's just the
|
|
27
|
+
// The type has no members, it's just the existence of the specialization that
|
|
28
28
|
// unlocks SliceCast usage for a type pair.
|
|
29
29
|
template <typename Result, typename T>
|
|
30
30
|
struct SliceCastable;
|
|
@@ -82,7 +82,7 @@ absl::StatusOr<std::shared_ptr<CrlProvider>> CreateDirectoryReloaderCrlProvider(
|
|
|
82
82
|
} // namespace experimental
|
|
83
83
|
} // namespace grpc_core
|
|
84
84
|
|
|
85
|
-
// TODO(gtcooke94) - Mark with api macro when all wrapped
|
|
85
|
+
// TODO(gtcooke94) - Mark with api macro when all wrapped languages support C++
|
|
86
86
|
// in core APIs
|
|
87
87
|
/**
|
|
88
88
|
* EXPERIMENTAL API - Subject to change
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
issued by the tcp_write(). By default, this is set to 4. */
|
|
260
260
|
#define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS \
|
|
261
261
|
"grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends"
|
|
262
|
-
/* Overrides the TCP socket
|
|
262
|
+
/* Overrides the TCP socket receive buffer size, SO_RCVBUF. */
|
|
263
263
|
#define GRPC_ARG_TCP_RECEIVE_BUFFER_SIZE "grpc.tcp_receive_buffer_size"
|
|
264
264
|
/* Timeout in milliseconds to use for calls to the grpclb load balancer.
|
|
265
265
|
If 0 or unset, the balancer calls will have no deadline. */
|
data/include/grpc/support/log.h
CHANGED
|
@@ -28,13 +28,8 @@
|
|
|
28
28
|
extern "C" {
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* Logging functions in this file are deprecated.
|
|
33
|
-
* Please use absl ABSL_LOG instead.
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
31
|
/** The severity of a log message - use the #defines below when calling into
|
|
37
|
-
|
|
32
|
+
grpc_absl_log to additionally supply file and line data */
|
|
38
33
|
typedef enum gpr_log_severity {
|
|
39
34
|
GPR_LOG_SEVERITY_DEBUG,
|
|
40
35
|
GPR_LOG_SEVERITY_INFO,
|
|
@@ -46,37 +41,44 @@ typedef enum gpr_log_severity {
|
|
|
46
41
|
#define GPR_INFO __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
|
|
47
42
|
#define GPR_ERROR __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
|
|
48
43
|
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
/**
|
|
45
|
+
* EXPERIMENTAL. API stability not guaranteed.
|
|
46
|
+
* Should only be used from gRPC PHP and RUBY.
|
|
47
|
+
* This will be removed once Ruby and PHP can start using C++ APIs.
|
|
48
|
+
* We would replace this with calls to absl LOG functions.
|
|
49
|
+
* grpc_absl_log is equivalent to
|
|
50
|
+
* ABSL_LOG(severity) << message_str;
|
|
51
|
+
* **/
|
|
52
|
+
GPRAPI void grpc_absl_log(const char* file, int line, gpr_log_severity severity,
|
|
53
|
+
const char* message_str);
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
/**
|
|
56
|
+
* EXPERIMENTAL. API stability not guaranteed.
|
|
57
|
+
* Should only be used from gRPC PHP and RUBY.
|
|
58
|
+
* This will be removed once Ruby and PHP can start using C++ APIs.
|
|
59
|
+
* We would replace this with calls to absl LOG functions.
|
|
60
|
+
* grpc_absl_log_int is equivalent to
|
|
61
|
+
* ABSL_LOG(severity) << message_str << num;
|
|
62
|
+
* **/
|
|
63
|
+
GPRAPI void grpc_absl_log_int(const char* file, int line,
|
|
64
|
+
gpr_log_severity severity,
|
|
65
|
+
const char* message_str, intptr_t num);
|
|
58
66
|
|
|
59
|
-
/**
|
|
60
|
-
|
|
67
|
+
/**
|
|
68
|
+
* EXPERIMENTAL. API stability not guaranteed.
|
|
69
|
+
* Should only be used from gRPC PHP and RUBY.
|
|
70
|
+
* This will be removed once Ruby and PHP can start using C++ APIs.
|
|
71
|
+
* We would replace this with calls to absl LOG functions.
|
|
72
|
+
* grpc_absl_log_str is equivalent to
|
|
73
|
+
* ABSL_LOG(severity) << message_str1 << message_str2;
|
|
74
|
+
* **/
|
|
75
|
+
GPRAPI void grpc_absl_log_str(const char* file, int line,
|
|
76
|
+
gpr_log_severity severity,
|
|
77
|
+
const char* message_str1,
|
|
78
|
+
const char* message_str2);
|
|
61
79
|
|
|
62
80
|
GPRAPI void gpr_log_verbosity_init(void);
|
|
63
81
|
|
|
64
|
-
/** Log overrides: applications can use this API to intercept logging calls
|
|
65
|
-
and use their own implementations */
|
|
66
|
-
|
|
67
|
-
struct gpr_log_func_args {
|
|
68
|
-
const char* file;
|
|
69
|
-
int line;
|
|
70
|
-
gpr_log_severity severity;
|
|
71
|
-
const char* message;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
typedef struct gpr_log_func_args gpr_log_func_args;
|
|
75
|
-
|
|
76
|
-
typedef void (*gpr_log_func)(gpr_log_func_args* args);
|
|
77
|
-
|
|
78
|
-
GPRAPI void gpr_set_log_function(gpr_log_func deprecated_setting);
|
|
79
|
-
|
|
80
82
|
#ifdef __cplusplus
|
|
81
83
|
}
|
|
82
84
|
#endif
|
|
@@ -29,8 +29,7 @@ typedef struct {
|
|
|
29
29
|
gpr_atm state;
|
|
30
30
|
} gpr_event;
|
|
31
31
|
|
|
32
|
-
#define GPR_EVENT_INIT
|
|
33
|
-
{ 0 }
|
|
32
|
+
#define GPR_EVENT_INIT {0}
|
|
34
33
|
|
|
35
34
|
/* gpr_refcount */
|
|
36
35
|
typedef struct {
|
|
@@ -42,7 +41,6 @@ typedef struct {
|
|
|
42
41
|
gpr_atm value;
|
|
43
42
|
} gpr_stats_counter;
|
|
44
43
|
|
|
45
|
-
#define GPR_STATS_INIT
|
|
46
|
-
{ 0 }
|
|
44
|
+
#define GPR_STATS_INIT {0}
|
|
47
45
|
|
|
48
46
|
#endif /* GRPC_SUPPORT_SYNC_GENERIC_H */
|
|
@@ -1105,6 +1105,10 @@ void ClientChannel::OnResolverResultChangedLocked(Resolver::Result result) {
|
|
|
1105
1105
|
service_config = std::move(*result.service_config);
|
|
1106
1106
|
config_selector = result.args.GetObjectRef<ConfigSelector>();
|
|
1107
1107
|
}
|
|
1108
|
+
// Remove the config selector from channel args so that we're not holding
|
|
1109
|
+
// unnecessary refs that cause it to be destroyed somewhere other than in
|
|
1110
|
+
// the WorkSerializer.
|
|
1111
|
+
result.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
|
|
1108
1112
|
// Note: The only case in which service_config is null here is if the
|
|
1109
1113
|
// resolver returned a service config error and we don't have a previous
|
|
1110
1114
|
// service config to fall back to.
|
|
@@ -1138,6 +1142,7 @@ void ClientChannel::OnResolverResultChangedLocked(Resolver::Result result) {
|
|
|
1138
1142
|
<< "client_channel=" << this << ": service config not changed";
|
|
1139
1143
|
}
|
|
1140
1144
|
// Create or update LB policy, as needed.
|
|
1145
|
+
ChannelArgs new_args = result.args;
|
|
1141
1146
|
resolver_result_status = CreateOrUpdateLbPolicyLocked(
|
|
1142
1147
|
std::move(lb_policy_config),
|
|
1143
1148
|
parsed_service_config->health_check_service_name(), std::move(result));
|
|
@@ -1146,7 +1151,7 @@ void ClientChannel::OnResolverResultChangedLocked(Resolver::Result result) {
|
|
|
1146
1151
|
// the ConfigSelector may need the LB policy to know about new
|
|
1147
1152
|
// destinations before it can send RPCs to those destinations.
|
|
1148
1153
|
if (service_config_changed || config_selector_changed) {
|
|
1149
|
-
UpdateServiceConfigInDataPlaneLocked();
|
|
1154
|
+
UpdateServiceConfigInDataPlaneLocked(new_args);
|
|
1150
1155
|
}
|
|
1151
1156
|
}
|
|
1152
1157
|
// Invoke resolver callback if needed.
|
|
@@ -1196,10 +1201,7 @@ absl::Status ClientChannel::CreateOrUpdateLbPolicyLocked(
|
|
|
1196
1201
|
}
|
|
1197
1202
|
update_args.config = std::move(lb_policy_config);
|
|
1198
1203
|
update_args.resolution_note = std::move(result.resolution_note);
|
|
1199
|
-
|
|
1200
|
-
// unnecessary refs that cause it to be destroyed somewhere other than in
|
|
1201
|
-
// the WorkSerializer.
|
|
1202
|
-
update_args.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
|
|
1204
|
+
update_args.args = std::move(result.args);
|
|
1203
1205
|
// Add health check service name to channel args.
|
|
1204
1206
|
if (health_check_service_name.has_value()) {
|
|
1205
1207
|
update_args.args = update_args.args.Set(GRPC_ARG_HEALTH_CHECK_SERVICE_NAME,
|
|
@@ -1264,7 +1266,8 @@ void ClientChannel::UpdateServiceConfigInControlPlaneLocked(
|
|
|
1264
1266
|
}
|
|
1265
1267
|
}
|
|
1266
1268
|
|
|
1267
|
-
void ClientChannel::UpdateServiceConfigInDataPlaneLocked(
|
|
1269
|
+
void ClientChannel::UpdateServiceConfigInDataPlaneLocked(
|
|
1270
|
+
const ChannelArgs& args) {
|
|
1268
1271
|
GRPC_TRACE_LOG(client_channel, INFO)
|
|
1269
1272
|
<< "client_channel=" << this << ": switching to ConfigSelector "
|
|
1270
1273
|
<< saved_config_selector_.get();
|
|
@@ -1275,7 +1278,7 @@ void ClientChannel::UpdateServiceConfigInDataPlaneLocked() {
|
|
|
1275
1278
|
MakeRefCounted<DefaultConfigSelector>(saved_service_config_);
|
|
1276
1279
|
}
|
|
1277
1280
|
// Construct filter stack.
|
|
1278
|
-
InterceptionChainBuilder builder(
|
|
1281
|
+
InterceptionChainBuilder builder(args.SetObject(this));
|
|
1279
1282
|
if (idle_timeout_ != Duration::Zero()) {
|
|
1280
1283
|
builder.AddOnServerTrailingMetadata([this](ServerMetadata&) {
|
|
1281
1284
|
if (idle_state_.DecreaseCallCount()) StartIdleTimer();
|
|
@@ -149,7 +149,7 @@ class ClientChannel : public Channel {
|
|
|
149
149
|
RefCountedPtr<ConfigSelector> config_selector, std::string lb_policy_name)
|
|
150
150
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
|
151
151
|
|
|
152
|
-
void UpdateServiceConfigInDataPlaneLocked()
|
|
152
|
+
void UpdateServiceConfigInDataPlaneLocked(const ChannelArgs& args)
|
|
153
153
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
|
154
154
|
|
|
155
155
|
void UpdateStateLocked(grpc_connectivity_state state,
|
|
@@ -1319,6 +1319,10 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
|
|
|
1319
1319
|
service_config = std::move(*result.service_config);
|
|
1320
1320
|
config_selector = result.args.GetObjectRef<ConfigSelector>();
|
|
1321
1321
|
}
|
|
1322
|
+
// Remove the config selector from channel args so that we're not holding
|
|
1323
|
+
// unnecessary refs that cause it to be destroyed somewhere other than in the
|
|
1324
|
+
// WorkSerializer.
|
|
1325
|
+
result.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
|
|
1322
1326
|
// Note: The only case in which service_config is null here is if the resolver
|
|
1323
1327
|
// returned a service config error and we don't have a previous service
|
|
1324
1328
|
// config to fall back to.
|
|
@@ -1349,6 +1353,7 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
|
|
|
1349
1353
|
<< "chand=" << this << ": service config not changed";
|
|
1350
1354
|
}
|
|
1351
1355
|
// Create or update LB policy, as needed.
|
|
1356
|
+
ChannelArgs new_args = result.args;
|
|
1352
1357
|
resolver_result_status = CreateOrUpdateLbPolicyLocked(
|
|
1353
1358
|
std::move(lb_policy_config),
|
|
1354
1359
|
parsed_service_config->health_check_service_name(), std::move(result));
|
|
@@ -1357,7 +1362,7 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
|
|
|
1357
1362
|
// This needs to happen after the LB policy has been updated, since
|
|
1358
1363
|
// the ConfigSelector may need the LB policy to know about new
|
|
1359
1364
|
// destinations before it can send RPCs to those destinations.
|
|
1360
|
-
UpdateServiceConfigInDataPlaneLocked();
|
|
1365
|
+
UpdateServiceConfigInDataPlaneLocked(new_args);
|
|
1361
1366
|
// TODO(ncteisen): might be worth somehow including a snippet of the
|
|
1362
1367
|
// config in the trace, at the risk of bloating the trace logs.
|
|
1363
1368
|
trace_strings.push_back("Service config changed");
|
|
@@ -1413,10 +1418,7 @@ absl::Status ClientChannelFilter::CreateOrUpdateLbPolicyLocked(
|
|
|
1413
1418
|
}
|
|
1414
1419
|
update_args.config = std::move(lb_policy_config);
|
|
1415
1420
|
update_args.resolution_note = std::move(result.resolution_note);
|
|
1416
|
-
|
|
1417
|
-
// unnecessary refs that cause it to be destroyed somewhere other than in the
|
|
1418
|
-
// WorkSerializer.
|
|
1419
|
-
update_args.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
|
|
1421
|
+
update_args.args = std::move(result.args);
|
|
1420
1422
|
// Add health check service name to channel args.
|
|
1421
1423
|
if (health_check_service_name.has_value()) {
|
|
1422
1424
|
update_args.args = update_args.args.Set(GRPC_ARG_HEALTH_CHECK_SERVICE_NAME,
|
|
@@ -1480,7 +1482,8 @@ void ClientChannelFilter::UpdateServiceConfigInControlPlaneLocked(
|
|
|
1480
1482
|
<< saved_config_selector_.get();
|
|
1481
1483
|
}
|
|
1482
1484
|
|
|
1483
|
-
void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked(
|
|
1485
|
+
void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked(
|
|
1486
|
+
const ChannelArgs& args) {
|
|
1484
1487
|
// Grab ref to service config.
|
|
1485
1488
|
RefCountedPtr<ServiceConfig> service_config = saved_service_config_;
|
|
1486
1489
|
// Grab ref to config selector. Use default if resolver didn't supply one.
|
|
@@ -1492,8 +1495,7 @@ void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked() {
|
|
|
1492
1495
|
config_selector =
|
|
1493
1496
|
MakeRefCounted<DefaultConfigSelector>(saved_service_config_);
|
|
1494
1497
|
}
|
|
1495
|
-
ChannelArgs new_args =
|
|
1496
|
-
channel_args_.SetObject(this).SetObject(service_config);
|
|
1498
|
+
ChannelArgs new_args = args.SetObject(this).SetObject(service_config);
|
|
1497
1499
|
bool enable_retries =
|
|
1498
1500
|
!new_args.WantMinimalStack() &&
|
|
1499
1501
|
new_args.GetBool(GRPC_ARG_ENABLE_RETRIES).value_or(true);
|
|
@@ -2516,16 +2518,17 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
|
|
|
2516
2518
|
// updated before we queue it.
|
|
2517
2519
|
// We need to unref pickers in the WorkSerializer.
|
|
2518
2520
|
std::vector<RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>> pickers;
|
|
2519
|
-
auto cleanup = absl::MakeCleanup(
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2521
|
+
auto cleanup = absl::MakeCleanup(
|
|
2522
|
+
[work_serializer = chand_->work_serializer_, &pickers]() {
|
|
2523
|
+
if (IsWorkSerializerDispatchEnabled()) return;
|
|
2524
|
+
work_serializer->Run(
|
|
2525
|
+
[pickers = std::move(pickers)]() mutable {
|
|
2526
|
+
for (auto& picker : pickers) {
|
|
2527
|
+
picker.reset(DEBUG_LOCATION, "PickSubchannel");
|
|
2528
|
+
}
|
|
2529
|
+
},
|
|
2530
|
+
DEBUG_LOCATION);
|
|
2531
|
+
});
|
|
2529
2532
|
absl::AnyInvocable<void(RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>)>
|
|
2530
2533
|
set_picker;
|
|
2531
2534
|
if (!IsWorkSerializerDispatchEnabled()) {
|
|
@@ -247,7 +247,7 @@ class ClientChannelFilter final {
|
|
|
247
247
|
RefCountedPtr<ConfigSelector> config_selector, std::string lb_policy_name)
|
|
248
248
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
|
249
249
|
|
|
250
|
-
void UpdateServiceConfigInDataPlaneLocked()
|
|
250
|
+
void UpdateServiceConfigInDataPlaneLocked(const ChannelArgs& args)
|
|
251
251
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
|
252
252
|
|
|
253
253
|
void CreateResolverLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(*work_serializer_);
|
|
@@ -24,8 +24,6 @@
|
|
|
24
24
|
#include "absl/functional/any_invocable.h"
|
|
25
25
|
#include "absl/log/check.h"
|
|
26
26
|
|
|
27
|
-
#include <grpc/support/log.h>
|
|
28
|
-
|
|
29
27
|
#include "src/core/lib/gprpp/down_cast.h"
|
|
30
28
|
#include "src/core/lib/gprpp/unique_type_name.h"
|
|
31
29
|
#include "src/core/lib/resource_quota/arena.h"
|
|
@@ -27,8 +27,6 @@
|
|
|
27
27
|
#include "absl/log/log.h"
|
|
28
28
|
#include "absl/status/statusor.h"
|
|
29
29
|
|
|
30
|
-
#include <grpc/support/log.h>
|
|
31
|
-
|
|
32
30
|
#include "src/core/lib/channel/channel_args.h"
|
|
33
31
|
#include "src/core/lib/channel/channel_stack.h"
|
|
34
32
|
#include "src/core/lib/channel/channel_stack_builder_impl.h"
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
#include <grpc/event_engine/event_engine.h>
|
|
31
31
|
#include <grpc/grpc.h>
|
|
32
32
|
#include <grpc/impl/channel_arg_names.h>
|
|
33
|
-
#include <grpc/support/log.h>
|
|
34
33
|
|
|
35
34
|
#include "src/core/client_channel/client_channel_filter.h"
|
|
36
35
|
#include "src/core/client_channel/retry_service_config.h"
|