grpc 1.75.0.pre1 → 1.76.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 +18 -5
- data/include/grpc/credentials.h +21 -5
- data/src/core/call/call_filters.cc +4 -4
- data/src/core/call/call_filters.h +36 -36
- data/src/core/call/call_spine.h +27 -27
- data/src/core/call/client_call.cc +6 -5
- data/src/core/call/filter_fusion.h +5 -5
- data/src/core/call/metadata_batch.h +3 -3
- data/src/core/call/security_context.cc +1 -1
- data/src/core/call/server_call.cc +4 -4
- data/src/core/call/server_call.h +1 -1
- data/src/core/channelz/channelz.cc +12 -18
- data/src/core/channelz/channelz.h +32 -16
- data/src/core/channelz/channelz_registry.h +11 -0
- data/src/core/channelz/property_list.cc +18 -0
- data/src/core/channelz/property_list.h +10 -1
- data/src/core/channelz/text_encode.cc +66 -0
- data/src/core/channelz/text_encode.h +29 -0
- data/src/core/channelz/v2tov1/convert.cc +11 -0
- data/src/core/channelz/v2tov1/legacy_api.cc +15 -8
- data/src/core/channelz/ztrace_collector.h +247 -86
- data/src/core/client_channel/backup_poller.cc +5 -6
- data/src/core/client_channel/client_channel.cc +20 -13
- data/src/core/client_channel/client_channel_filter.cc +53 -45
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_internal.h +3 -4
- data/src/core/client_channel/config_selector.h +3 -3
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/global_subchannel_pool.cc +0 -37
- data/src/core/client_channel/global_subchannel_pool.h +0 -27
- data/src/core/client_channel/load_balanced_call_destination.cc +7 -7
- data/src/core/client_channel/local_subchannel_pool.cc +4 -4
- data/src/core/client_channel/retry_filter.h +3 -3
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
- data/src/core/client_channel/subchannel.cc +8 -8
- data/src/core/client_channel/subchannel_stream_client.cc +4 -4
- data/src/core/config/config_vars.cc +30 -1
- data/src/core/config/config_vars.h +21 -0
- data/src/core/config/core_configuration.cc +5 -5
- data/src/core/config/core_configuration.h +7 -7
- data/src/core/config/load_config.cc +12 -0
- data/src/core/config/load_config.h +2 -0
- data/src/core/credentials/call/call_credentials.h +2 -2
- data/src/core/credentials/call/call_creds_util.cc +4 -3
- data/src/core/credentials/call/composite/composite_call_credentials.cc +4 -4
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +3 -3
- data/src/core/credentials/call/external/external_account_credentials.cc +1 -1
- data/src/core/credentials/call/external/url_external_account_credentials.cc +1 -1
- data/src/core/credentials/call/iam/iam_credentials.cc +4 -4
- data/src/core/credentials/call/jwt/json_token.cc +3 -3
- data/src/core/credentials/call/jwt/jwt_credentials.cc +2 -2
- data/src/core/credentials/call/jwt/jwt_verifier.cc +14 -13
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +20 -12
- data/src/core/credentials/call/plugin/plugin_credentials.cc +2 -2
- data/src/core/credentials/transport/alts/alts_credentials.cc +4 -4
- data/src/core/credentials/transport/alts/alts_security_connector.cc +14 -12
- data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +22 -2
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +10 -1
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +31 -0
- data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +8 -3
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +5 -5
- data/src/core/credentials/transport/fake/fake_security_connector.cc +2 -2
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +78 -28
- data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
- data/src/core/credentials/transport/local/local_security_connector.cc +8 -8
- data/src/core/credentials/transport/security_connector.cc +5 -5
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +12 -12
- data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +3 -3
- data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +24 -24
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +5 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +17 -17
- data/src/core/credentials/transport/tls/ssl_utils.cc +14 -9
- data/src/core/credentials/transport/tls/tls_credentials.cc +2 -2
- data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -11
- data/src/core/credentials/transport/transport_credentials.cc +2 -2
- data/src/core/credentials/transport/transport_credentials.h +2 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +2 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
- data/src/core/ext/filters/http/message_compress/compression_filter.h +3 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -7
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -9
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +96 -88
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -7
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +60 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +32 -10
- data/src/core/ext/transport/chttp2/transport/frame.h +16 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +28 -12
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +27 -27
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +543 -366
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +198 -277
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +3 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +11 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +179 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +51 -23
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +13 -6
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +115 -71
- data/src/core/ext/transport/chttp2/transport/internal.h +6 -14
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +7 -7
- data/src/core/ext/transport/chttp2/transport/parsing.cc +17 -15
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +62 -26
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +58 -22
- data/src/core/ext/transport/chttp2/transport/stream.h +207 -0
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +328 -187
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.h +52 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +181 -79
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +3 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +87 -55
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +23 -21
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
- data/src/core/filter/auth/server_auth_filter.cc +2 -2
- data/src/core/handshaker/handshaker.cc +3 -3
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +2 -2
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +2 -2
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +31 -8
- data/src/core/handshaker/security/secure_endpoint.cc +16 -6
- data/src/core/handshaker/security/security_handshaker.cc +3 -3
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -2
- data/src/core/lib/channel/channel_stack.cc +8 -5
- data/src/core/lib/channel/channel_stack.h +3 -0
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -0
- data/src/core/lib/channel/connected_channel.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.cc +69 -64
- data/src/core/lib/channel/promise_based_filter.h +16 -15
- data/src/core/lib/compression/compression_internal.cc +2 -2
- data/src/core/lib/compression/message_compress.cc +7 -7
- data/src/core/lib/event_engine/ares_resolver.cc +22 -20
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -2
- data/src/core/lib/event_engine/extensions/channelz.h +2 -2
- data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +8 -8
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +23 -22
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -11
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +168 -170
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +33 -54
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +1 -1
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +3 -3
- data/src/core/lib/event_engine/resolved_address.cc +3 -3
- data/src/core/lib/event_engine/shim.cc +8 -11
- data/src/core/lib/event_engine/shim.h +2 -1
- data/src/core/lib/event_engine/slice.cc +2 -2
- data/src/core/lib/event_engine/tcp_socket_utils.cc +11 -11
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +7 -7
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -31
- data/src/core/lib/event_engine/windows/iocp.cc +10 -10
- data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -11
- data/src/core/lib/event_engine/windows/windows_engine.cc +16 -14
- data/src/core/lib/event_engine/windows/windows_listener.cc +7 -7
- data/src/core/lib/experiments/experiments.cc +105 -18
- data/src/core/lib/experiments/experiments.h +43 -11
- data/src/core/lib/iomgr/call_combiner.cc +3 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +6 -6
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +5 -5
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -14
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -15
- data/src/core/lib/iomgr/ev_poll_posix.cc +11 -11
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +5 -4
- data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +8 -8
- data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
- data/src/core/lib/iomgr/lockfree_event.cc +2 -2
- data/src/core/lib/iomgr/polling_entity.cc +3 -3
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_posix.cc +42 -42
- data/src/core/lib/iomgr/tcp_server.cc +5 -0
- data/src/core/lib/iomgr/tcp_server.h +7 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +47 -27
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
- data/src/core/lib/iomgr/tcp_server_windows.cc +68 -29
- data/src/core/lib/iomgr/tcp_windows.cc +7 -7
- data/src/core/lib/iomgr/timer_generic.cc +2 -2
- data/src/core/lib/iomgr/timer_manager.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
- data/src/core/lib/promise/activity.cc +2 -2
- data/src/core/lib/promise/activity.h +6 -6
- data/src/core/lib/promise/context.h +2 -2
- data/src/core/lib/promise/detail/join_state.h +9 -9
- data/src/core/lib/promise/detail/seq_state.h +13 -13
- data/src/core/lib/promise/detail/status.h +2 -2
- data/src/core/lib/promise/for_each.h +5 -5
- data/src/core/lib/promise/interceptor_list.h +2 -2
- data/src/core/lib/promise/latch.h +7 -7
- data/src/core/lib/promise/mpsc.cc +26 -26
- data/src/core/lib/promise/mpsc.h +2 -2
- data/src/core/lib/promise/observable.h +4 -4
- data/src/core/lib/promise/party.cc +32 -25
- data/src/core/lib/promise/party.h +16 -19
- data/src/core/lib/promise/pipe.h +15 -15
- data/src/core/lib/promise/poll.h +5 -4
- data/src/core/lib/promise/promise.h +0 -2
- data/src/core/lib/promise/sleep.cc +3 -1
- data/src/core/lib/promise/status_flag.h +7 -7
- data/src/core/lib/promise/try_join.h +2 -2
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/arena.h +15 -2
- data/src/core/lib/resource_quota/connection_quota.cc +9 -7
- data/src/core/lib/resource_quota/memory_quota.cc +45 -24
- data/src/core/lib/resource_quota/memory_quota.h +48 -16
- data/src/core/lib/resource_quota/telemetry.h +54 -0
- data/src/core/lib/resource_quota/thread_quota.cc +2 -2
- data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
- data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
- data/src/core/lib/security/authorization/audit_logging.cc +5 -5
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
- data/src/core/lib/surface/call.cc +16 -14
- data/src/core/lib/surface/call.h +1 -1
- data/src/core/lib/surface/call_utils.cc +2 -2
- data/src/core/lib/surface/call_utils.h +2 -2
- data/src/core/lib/surface/channel.cc +4 -4
- data/src/core/lib/surface/channel_create.cc +10 -6
- data/src/core/lib/surface/channel_init.cc +80 -23
- data/src/core/lib/surface/channel_init.h +26 -11
- data/src/core/lib/surface/completion_queue.cc +17 -16
- data/src/core/lib/surface/completion_queue_factory.cc +7 -7
- data/src/core/lib/surface/connection_context.h +45 -2
- data/src/core/lib/surface/filter_stack_call.cc +12 -23
- data/src/core/lib/surface/filter_stack_call.h +3 -4
- data/src/core/lib/surface/legacy_channel.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.h +3 -3
- data/src/core/lib/transport/promise_endpoint.cc +3 -3
- data/src/core/lib/transport/promise_endpoint.h +8 -8
- data/src/core/lib/transport/timeout_encoding.cc +4 -4
- data/src/core/load_balancing/child_policy_handler.cc +4 -4
- data/src/core/load_balancing/endpoint_list.cc +2 -2
- data/src/core/load_balancing/grpclb/grpclb.cc +24 -24
- data/src/core/load_balancing/health_check_client.cc +4 -4
- data/src/core/load_balancing/health_check_client_internal.h +2 -2
- data/src/core/load_balancing/lb_policy_registry.cc +2 -2
- data/src/core/load_balancing/oob_backend_metric.cc +4 -4
- data/src/core/load_balancing/oob_backend_metric_internal.h +2 -2
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +14 -14
- data/src/core/load_balancing/priority/priority.cc +23 -24
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -3
- data/src/core/load_balancing/rls/rls.cc +13 -13
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -9
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +3 -3
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +33 -26
- data/src/core/load_balancing/weighted_target/weighted_target.cc +5 -5
- data/src/core/load_balancing/xds/cds.cc +76 -32
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +3 -3
- data/src/core/load_balancing/xds/xds_override_host.cc +4 -4
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +33 -33
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +10 -10
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -3
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +2 -2
- data/src/core/resolver/endpoint_addresses.cc +3 -3
- data/src/core/resolver/endpoint_addresses.h +3 -0
- data/src/core/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +41 -54
- data/src/core/resolver/polling_resolver.cc +3 -3
- data/src/core/resolver/resolver_registry.cc +5 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +5 -5
- data/src/core/resolver/xds/xds_resolver.cc +9 -9
- data/src/core/server/server.cc +38 -38
- data/src/core/server/server_call_tracer_filter.h +4 -4
- data/src/core/server/server_config_selector_filter.cc +2 -2
- data/src/core/server/xds_server_config_fetcher.cc +9 -8
- data/src/core/service_config/service_config_impl.h +2 -2
- data/src/core/telemetry/call_tracer.cc +39 -49
- data/src/core/telemetry/call_tracer.h +199 -22
- data/src/core/telemetry/histogram.h +205 -0
- data/src/core/telemetry/instrument.cc +719 -0
- data/src/core/telemetry/instrument.h +932 -0
- data/src/core/telemetry/metrics.cc +13 -5
- data/src/core/telemetry/metrics.h +3 -1
- data/src/core/telemetry/stats_data.cc +0 -19
- data/src/core/telemetry/stats_data.h +0 -19
- data/src/core/transport/auth_context.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +78 -45
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +39 -31
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +7 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -3
- data/src/core/tsi/fake_transport_security.cc +4 -4
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -4
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -9
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -3
- data/src/core/tsi/ssl_transport_security.cc +26 -25
- data/src/core/tsi/ssl_transport_security_utils.cc +9 -9
- data/src/core/util/chunked_vector.h +4 -4
- data/src/core/util/event_log.cc +2 -2
- data/src/core/util/gcp_metadata_query.cc +2 -2
- data/src/core/util/grpc_check.cc +22 -0
- data/src/core/util/grpc_check.h +103 -0
- data/src/core/util/http_client/httpcli.cc +3 -3
- data/src/core/util/http_client/parser.cc +4 -4
- data/src/core/util/latent_see.h +7 -4
- data/src/core/util/lru_cache.h +4 -4
- data/src/core/util/memory_usage.h +16 -0
- data/src/core/util/posix/directory_reader.cc +3 -2
- data/src/core/util/posix/sync.cc +24 -24
- data/src/core/util/postmortem_emit.cc +52 -0
- data/src/core/util/postmortem_emit.h +30 -0
- data/src/core/util/ref_counted_ptr.h +5 -0
- data/src/core/util/trie_lookup.h +170 -0
- data/src/core/util/unique_ptr_with_bitset.h +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -1
- data/src/core/xds/grpc/xds_certificate_provider.cc +3 -3
- data/src/core/xds/grpc/xds_client_grpc.cc +34 -15
- data/src/core/xds/grpc/xds_client_grpc.h +4 -1
- data/src/core/xds/grpc/xds_cluster_parser.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_endpoint_parser.cc +2 -2
- data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
- data/src/core/xds/grpc/xds_listener_parser.cc +3 -3
- data/src/core/xds/grpc/xds_matcher.cc +277 -0
- data/src/core/xds/grpc/xds_matcher.h +432 -0
- data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
- data/src/core/xds/grpc/xds_matcher_action.h +48 -0
- data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
- data/src/core/xds/grpc/xds_matcher_context.h +46 -0
- data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
- data/src/core/xds/grpc/xds_matcher_input.h +105 -0
- data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
- data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
- data/src/core/xds/grpc/xds_metadata.cc +4 -3
- data/src/core/xds/grpc/xds_route_config_parser.cc +6 -6
- data/src/core/xds/grpc/xds_routing.cc +3 -3
- data/src/core/xds/grpc/xds_transport_grpc.cc +10 -10
- data/src/core/xds/xds_client/lrs_client.cc +6 -6
- data/src/core/xds/xds_client/xds_client.cc +9 -9
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
- data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
- metadata +37 -2
@@ -29,7 +29,6 @@
|
|
29
29
|
#include <optional>
|
30
30
|
#include <utility>
|
31
31
|
|
32
|
-
#include "absl/log/check.h"
|
33
32
|
#include "absl/log/log.h"
|
34
33
|
#include "absl/status/statusor.h"
|
35
34
|
#include "absl/strings/cord.h"
|
@@ -64,6 +63,7 @@
|
|
64
63
|
#include "src/core/util/alloc.h"
|
65
64
|
#include "src/core/util/backoff.h"
|
66
65
|
#include "src/core/util/debug_location.h"
|
66
|
+
#include "src/core/util/grpc_check.h"
|
67
67
|
#include "src/core/util/orphanable.h"
|
68
68
|
#include "src/core/util/ref_counted.h"
|
69
69
|
#include "src/core/util/ref_counted_ptr.h"
|
@@ -282,8 +282,8 @@ grpc_call_stack* SubchannelCall::GetCallStack() {
|
|
282
282
|
}
|
283
283
|
|
284
284
|
void SubchannelCall::SetAfterCallStackDestroy(grpc_closure* closure) {
|
285
|
-
|
286
|
-
|
285
|
+
GRPC_CHECK_EQ(after_call_stack_destroy_, nullptr);
|
286
|
+
GRPC_CHECK_NE(closure, nullptr);
|
287
287
|
after_call_stack_destroy_ = closure;
|
288
288
|
}
|
289
289
|
|
@@ -334,7 +334,7 @@ void SubchannelCall::MaybeInterceptRecvTrailingMetadata(
|
|
334
334
|
GRPC_CLOSURE_INIT(&recv_trailing_metadata_ready_, RecvTrailingMetadataReady,
|
335
335
|
this, grpc_schedule_on_exec_ctx);
|
336
336
|
// save some state needed for the interception callback.
|
337
|
-
|
337
|
+
GRPC_CHECK_EQ(recv_trailing_metadata_, nullptr);
|
338
338
|
recv_trailing_metadata_ =
|
339
339
|
batch->payload->recv_trailing_metadata.recv_trailing_metadata;
|
340
340
|
original_recv_trailing_metadata_ =
|
@@ -360,12 +360,12 @@ void GetCallStatus(grpc_status_code* status, Timestamp deadline,
|
|
360
360
|
void SubchannelCall::RecvTrailingMetadataReady(void* arg,
|
361
361
|
grpc_error_handle error) {
|
362
362
|
SubchannelCall* call = static_cast<SubchannelCall*>(arg);
|
363
|
-
|
363
|
+
GRPC_CHECK_NE(call->recv_trailing_metadata_, nullptr);
|
364
364
|
grpc_status_code status = GRPC_STATUS_OK;
|
365
365
|
GetCallStatus(&status, call->deadline_, call->recv_trailing_metadata_, error);
|
366
366
|
channelz::SubchannelNode* channelz_node =
|
367
367
|
call->connected_subchannel_->channelz_node();
|
368
|
-
|
368
|
+
GRPC_CHECK_NE(channelz_node, nullptr);
|
369
369
|
if (status == GRPC_STATUS_OK) {
|
370
370
|
channelz_node->RecordCallSucceeded();
|
371
371
|
} else {
|
@@ -585,7 +585,7 @@ RefCountedPtr<Subchannel> Subchannel::Create(
|
|
585
585
|
const grpc_resolved_address& address, const ChannelArgs& args) {
|
586
586
|
SubchannelKey key(address, args);
|
587
587
|
auto* subchannel_pool = args.GetObject<SubchannelPoolInterface>();
|
588
|
-
|
588
|
+
GRPC_CHECK_NE(subchannel_pool, nullptr);
|
589
589
|
RefCountedPtr<Subchannel> c = subchannel_pool->FindSubchannel(key);
|
590
590
|
if (c != nullptr) {
|
591
591
|
return c;
|
@@ -681,7 +681,7 @@ void Subchannel::Orphaned() {
|
|
681
681
|
subchannel_pool_.reset();
|
682
682
|
}
|
683
683
|
MutexLock lock(&mu_);
|
684
|
-
|
684
|
+
GRPC_CHECK(!shutdown_);
|
685
685
|
shutdown_ = true;
|
686
686
|
connector_.reset();
|
687
687
|
connected_subchannel_.reset();
|
@@ -23,13 +23,13 @@
|
|
23
23
|
|
24
24
|
#include <utility>
|
25
25
|
|
26
|
-
#include "absl/log/check.h"
|
27
26
|
#include "absl/log/log.h"
|
28
27
|
#include "src/core/lib/channel/channel_args.h"
|
29
28
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
30
29
|
#include "src/core/lib/resource_quota/resource_quota.h"
|
31
30
|
#include "src/core/lib/transport/error_utils.h"
|
32
31
|
#include "src/core/util/debug_location.h"
|
32
|
+
#include "src/core/util/grpc_check.h"
|
33
33
|
#include "src/core/util/status_helper.h"
|
34
34
|
#include "src/core/util/sync.h"
|
35
35
|
#include "src/core/util/time.h"
|
@@ -110,7 +110,7 @@ void SubchannelStreamClient::StartCall() {
|
|
110
110
|
|
111
111
|
void SubchannelStreamClient::StartCallLocked() {
|
112
112
|
if (event_handler_ == nullptr) return;
|
113
|
-
|
113
|
+
GRPC_CHECK(call_state_ == nullptr);
|
114
114
|
if (event_handler_ != nullptr) {
|
115
115
|
event_handler_->OnCallStartLocked(this);
|
116
116
|
}
|
@@ -222,7 +222,7 @@ void SubchannelStreamClient::CallState::StartCallLocked() {
|
|
222
222
|
send_initial_metadata_.Set(
|
223
223
|
HttpPathMetadata(),
|
224
224
|
subchannel_stream_client_->event_handler_->GetPathLocked());
|
225
|
-
|
225
|
+
GRPC_CHECK(error.ok());
|
226
226
|
payload_.send_initial_metadata.send_initial_metadata =
|
227
227
|
&send_initial_metadata_;
|
228
228
|
batch_.send_initial_metadata = true;
|
@@ -432,7 +432,7 @@ void SubchannelStreamClient::CallState::CallEndedLocked(bool retry) {
|
|
432
432
|
if (this == subchannel_stream_client_->call_state_.get()) {
|
433
433
|
subchannel_stream_client_->call_state_.reset();
|
434
434
|
if (retry) {
|
435
|
-
|
435
|
+
GRPC_CHECK(subchannel_stream_client_->event_handler_ != nullptr);
|
436
436
|
if (seen_response_.load(std::memory_order_acquire)) {
|
437
437
|
// If the call fails after we've gotten a successful response, reset
|
438
438
|
// the backoff and restart the call immediately.
|
@@ -70,6 +70,9 @@ ABSL_FLAG(absl::optional<std::string>, grpc_system_ssl_roots_dir, {},
|
|
70
70
|
"Custom directory to SSL Roots");
|
71
71
|
ABSL_FLAG(absl::optional<std::string>, grpc_default_ssl_roots_file_path, {},
|
72
72
|
"Path to the default SSL roots file.");
|
73
|
+
ABSL_FLAG(absl::optional<bool>, grpc_use_system_roots_over_language_callback,
|
74
|
+
{},
|
75
|
+
"Prefer loading system root certificates over language callback.");
|
73
76
|
ABSL_FLAG(absl::optional<bool>, grpc_not_use_system_ssl_roots, {},
|
74
77
|
"Disable loading system root certificates.");
|
75
78
|
ABSL_FLAG(absl::optional<std::string>, grpc_ssl_cipher_suites, {},
|
@@ -83,6 +86,14 @@ ABSL_FLAG(
|
|
83
86
|
"EXPERIMENTAL: If non-zero, extend the lifetime of channelz nodes past the "
|
84
87
|
"underlying object lifetime, up to this many nodes. The value may be "
|
85
88
|
"adjusted slightly to account for implementation limits.");
|
89
|
+
ABSL_FLAG(absl::optional<double>, grpc_experimental_target_memory_pressure, {},
|
90
|
+
"EXPERIMENTAL: The target pressure for the memory quota pressure "
|
91
|
+
"controller. This is a value between 0 and 1.");
|
92
|
+
ABSL_FLAG(absl::optional<double>, grpc_experimental_memory_pressure_threshold,
|
93
|
+
{},
|
94
|
+
"EXPERIMENTAL: The threshold for the memory quota pressure "
|
95
|
+
"controller. This is a value between 0 and 1, and must always be "
|
96
|
+
"greater than the target pressure.");
|
86
97
|
|
87
98
|
namespace grpc_core {
|
88
99
|
|
@@ -95,12 +106,24 @@ ConfigVars::ConfigVars(const Overrides& overrides)
|
|
95
106
|
LoadConfig(FLAGS_grpc_channelz_max_orphaned_nodes,
|
96
107
|
"GRPC_CHANNELZ_MAX_ORPHANED_NODES",
|
97
108
|
overrides.channelz_max_orphaned_nodes, 0)),
|
109
|
+
experimental_target_memory_pressure_(
|
110
|
+
LoadConfig(FLAGS_grpc_experimental_target_memory_pressure,
|
111
|
+
"GRPC_EXPERIMENTAL_TARGET_MEMORY_PRESSURE",
|
112
|
+
overrides.experimental_target_memory_pressure, 0.95)),
|
113
|
+
experimental_memory_pressure_threshold_(
|
114
|
+
LoadConfig(FLAGS_grpc_experimental_memory_pressure_threshold,
|
115
|
+
"GRPC_EXPERIMENTAL_MEMORY_PRESSURE_THRESHOLD",
|
116
|
+
overrides.experimental_memory_pressure_threshold, 0.99)),
|
98
117
|
enable_fork_support_(LoadConfig(
|
99
118
|
FLAGS_grpc_enable_fork_support, "GRPC_ENABLE_FORK_SUPPORT",
|
100
119
|
overrides.enable_fork_support, GRPC_ENABLE_FORK_SUPPORT_DEFAULT)),
|
101
120
|
abort_on_leaks_(LoadConfig(FLAGS_grpc_abort_on_leaks,
|
102
121
|
"GRPC_ABORT_ON_LEAKS",
|
103
122
|
overrides.abort_on_leaks, false)),
|
123
|
+
use_system_roots_over_language_callback_(
|
124
|
+
LoadConfig(FLAGS_grpc_use_system_roots_over_language_callback,
|
125
|
+
"GRPC_USE_SYSTEM_ROOTS_OVER_LANGUAGE_CALLBACK",
|
126
|
+
overrides.use_system_roots_over_language_callback, false)),
|
104
127
|
not_use_system_ssl_roots_(LoadConfig(
|
105
128
|
FLAGS_grpc_not_use_system_ssl_roots, "GRPC_NOT_USE_SYSTEM_SSL_ROOTS",
|
106
129
|
overrides.not_use_system_ssl_roots, false)),
|
@@ -154,11 +177,17 @@ std::string ConfigVars::ToString() const {
|
|
154
177
|
", system_ssl_roots_dir: ", "\"", absl::CEscape(SystemSslRootsDir()),
|
155
178
|
"\"", ", default_ssl_roots_file_path: ", "\"",
|
156
179
|
absl::CEscape(DefaultSslRootsFilePath()), "\"",
|
180
|
+
", use_system_roots_over_language_callback: ",
|
181
|
+
UseSystemRootsOverLanguageCallback() ? "true" : "false",
|
157
182
|
", not_use_system_ssl_roots: ", NotUseSystemSslRoots() ? "true" : "false",
|
158
183
|
", ssl_cipher_suites: ", "\"", absl::CEscape(SslCipherSuites()), "\"",
|
159
184
|
", cpp_experimental_disable_reflection: ",
|
160
185
|
CppExperimentalDisableReflection() ? "true" : "false",
|
161
|
-
", channelz_max_orphaned_nodes: ", ChannelzMaxOrphanedNodes()
|
186
|
+
", channelz_max_orphaned_nodes: ", ChannelzMaxOrphanedNodes(),
|
187
|
+
", experimental_target_memory_pressure: ",
|
188
|
+
ExperimentalTargetMemoryPressure(),
|
189
|
+
", experimental_memory_pressure_threshold: ",
|
190
|
+
ExperimentalMemoryPressureThreshold());
|
162
191
|
}
|
163
192
|
|
164
193
|
} // namespace grpc_core
|
@@ -36,8 +36,11 @@ class GPR_DLL ConfigVars {
|
|
36
36
|
struct Overrides {
|
37
37
|
absl::optional<int32_t> client_channel_backup_poll_interval_ms;
|
38
38
|
absl::optional<int32_t> channelz_max_orphaned_nodes;
|
39
|
+
absl::optional<double> experimental_target_memory_pressure;
|
40
|
+
absl::optional<double> experimental_memory_pressure_threshold;
|
39
41
|
absl::optional<bool> enable_fork_support;
|
40
42
|
absl::optional<bool> abort_on_leaks;
|
43
|
+
absl::optional<bool> use_system_roots_over_language_callback;
|
41
44
|
absl::optional<bool> not_use_system_ssl_roots;
|
42
45
|
absl::optional<bool> cpp_experimental_disable_reflection;
|
43
46
|
absl::optional<std::string> dns_resolver;
|
@@ -95,6 +98,10 @@ class GPR_DLL ConfigVars {
|
|
95
98
|
std::string SystemSslRootsDir() const;
|
96
99
|
// Path to the default SSL roots file.
|
97
100
|
std::string DefaultSslRootsFilePath() const;
|
101
|
+
// Prefer loading system root certificates over language callback.
|
102
|
+
bool UseSystemRootsOverLanguageCallback() const {
|
103
|
+
return use_system_roots_over_language_callback_;
|
104
|
+
}
|
98
105
|
// Disable loading system root certificates.
|
99
106
|
bool NotUseSystemSslRoots() const { return not_use_system_ssl_roots_; }
|
100
107
|
// A colon separated list of cipher suites to use with OpenSSL
|
@@ -111,6 +118,17 @@ class GPR_DLL ConfigVars {
|
|
111
118
|
int32_t ChannelzMaxOrphanedNodes() const {
|
112
119
|
return channelz_max_orphaned_nodes_;
|
113
120
|
}
|
121
|
+
// EXPERIMENTAL: The target pressure for the memory quota pressure controller.
|
122
|
+
// This is a value between 0 and 1.
|
123
|
+
double ExperimentalTargetMemoryPressure() const {
|
124
|
+
return experimental_target_memory_pressure_;
|
125
|
+
}
|
126
|
+
// EXPERIMENTAL: The threshold for the memory quota pressure controller. This
|
127
|
+
// is a value between 0 and 1, and must always be greater than the target
|
128
|
+
// pressure.
|
129
|
+
double ExperimentalMemoryPressureThreshold() const {
|
130
|
+
return experimental_memory_pressure_threshold_;
|
131
|
+
}
|
114
132
|
|
115
133
|
private:
|
116
134
|
explicit ConfigVars(const Overrides& overrides);
|
@@ -118,8 +136,11 @@ class GPR_DLL ConfigVars {
|
|
118
136
|
static std::atomic<ConfigVars*> config_vars_;
|
119
137
|
int32_t client_channel_backup_poll_interval_ms_;
|
120
138
|
int32_t channelz_max_orphaned_nodes_;
|
139
|
+
double experimental_target_memory_pressure_;
|
140
|
+
double experimental_memory_pressure_threshold_;
|
121
141
|
bool enable_fork_support_;
|
122
142
|
bool abort_on_leaks_;
|
143
|
+
bool use_system_roots_over_language_callback_;
|
123
144
|
bool not_use_system_ssl_roots_;
|
124
145
|
bool cpp_experimental_disable_reflection_;
|
125
146
|
std::string dns_resolver_;
|
@@ -20,7 +20,7 @@
|
|
20
20
|
#include <utility>
|
21
21
|
#include <vector>
|
22
22
|
|
23
|
-
#include "
|
23
|
+
#include "src/core/util/grpc_check.h"
|
24
24
|
|
25
25
|
namespace grpc_core {
|
26
26
|
|
@@ -58,15 +58,15 @@ CoreConfiguration::CoreConfiguration(Builder* builder)
|
|
58
58
|
void CoreConfiguration::RegisterBuilder(
|
59
59
|
BuilderScope scope, absl::AnyInvocable<void(Builder*)> builder,
|
60
60
|
SourceLocation whence) {
|
61
|
-
|
61
|
+
GRPC_CHECK(config_.load(std::memory_order_relaxed) == nullptr)
|
62
62
|
<< "CoreConfiguration was already instantiated before builder "
|
63
63
|
"registration was completed";
|
64
64
|
if (scope == BuilderScope::kPersistent) {
|
65
|
-
|
65
|
+
GRPC_CHECK(!has_config_ever_been_produced_.load(std::memory_order_relaxed))
|
66
66
|
<< "Persistent builders cannot be registered after the first "
|
67
67
|
"CoreConfiguration has been produced";
|
68
68
|
}
|
69
|
-
|
69
|
+
GRPC_CHECK_NE(scope, BuilderScope::kCount);
|
70
70
|
auto& head = builders_[static_cast<size_t>(scope)];
|
71
71
|
RegisteredBuilder* n = new RegisteredBuilder();
|
72
72
|
VLOG(4) << "Registering " << scope << " builder from " << whence.file() << ":"
|
@@ -77,7 +77,7 @@ void CoreConfiguration::RegisterBuilder(
|
|
77
77
|
while (!head.compare_exchange_weak(n->next, n, std::memory_order_acq_rel,
|
78
78
|
std::memory_order_relaxed)) {
|
79
79
|
}
|
80
|
-
|
80
|
+
GRPC_CHECK(config_.load(std::memory_order_relaxed) == nullptr)
|
81
81
|
<< "CoreConfiguration was already instantiated before builder "
|
82
82
|
"registration was completed";
|
83
83
|
}
|
@@ -21,7 +21,6 @@
|
|
21
21
|
#include <atomic>
|
22
22
|
|
23
23
|
#include "absl/functional/any_invocable.h"
|
24
|
-
#include "absl/log/check.h"
|
25
24
|
#include "src/core/credentials/call/call_creds_registry.h"
|
26
25
|
#include "src/core/credentials/transport/channel_creds_registry.h"
|
27
26
|
#include "src/core/credentials/transport/tls/certificate_provider_registry.h"
|
@@ -35,6 +34,7 @@
|
|
35
34
|
#include "src/core/transport/auth_context_comparator_registry.h"
|
36
35
|
#include "src/core/transport/endpoint_transport.h"
|
37
36
|
#include "src/core/util/debug_location.h"
|
37
|
+
#include "src/core/util/grpc_check.h"
|
38
38
|
|
39
39
|
namespace grpc_core {
|
40
40
|
|
@@ -172,12 +172,12 @@ class GRPC_DLL CoreConfiguration {
|
|
172
172
|
~WithSubstituteBuilder() {
|
173
173
|
// Reset and restore.
|
174
174
|
Reset();
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
175
|
+
GRPC_CHECK(CoreConfiguration::config_.exchange(
|
176
|
+
config_restore_, std::memory_order_acquire) == nullptr);
|
177
|
+
GRPC_CHECK(CoreConfiguration::builders_[static_cast<size_t>(
|
178
|
+
BuilderScope::kEphemeral)]
|
179
|
+
.exchange(builders_restore_, std::memory_order_acquire) ==
|
180
|
+
nullptr);
|
181
181
|
}
|
182
182
|
|
183
183
|
private:
|
@@ -51,6 +51,18 @@ int32_t LoadConfigFromEnv(absl::string_view environment_variable,
|
|
51
51
|
return default_value;
|
52
52
|
}
|
53
53
|
|
54
|
+
double LoadConfigFromEnv(absl::string_view environment_variable,
|
55
|
+
double default_value) {
|
56
|
+
auto env = LoadEnv(environment_variable);
|
57
|
+
if (env.has_value()) {
|
58
|
+
double out;
|
59
|
+
if (absl::SimpleAtod(*env, &out)) return out;
|
60
|
+
fprintf(stderr, "Error reading double from %s: '%s' is not a double",
|
61
|
+
std::string(environment_variable).c_str(), env->c_str());
|
62
|
+
}
|
63
|
+
return default_value;
|
64
|
+
}
|
65
|
+
|
54
66
|
bool LoadConfigFromEnv(absl::string_view environment_variable,
|
55
67
|
bool default_value) {
|
56
68
|
auto env = LoadEnv(environment_variable);
|
@@ -33,6 +33,8 @@ int32_t LoadConfigFromEnv(absl::string_view environment_variable,
|
|
33
33
|
int32_t default_value);
|
34
34
|
bool LoadConfigFromEnv(absl::string_view environment_variable,
|
35
35
|
bool default_value);
|
36
|
+
double LoadConfigFromEnv(absl::string_view environment_variable,
|
37
|
+
double default_value);
|
36
38
|
|
37
39
|
template <typename T, typename D>
|
38
40
|
T LoadConfig(const absl::Flag<absl::optional<T>>& flag,
|
@@ -28,7 +28,6 @@
|
|
28
28
|
#include <utility>
|
29
29
|
#include <vector>
|
30
30
|
|
31
|
-
#include "absl/log/check.h"
|
32
31
|
#include "absl/status/statusor.h"
|
33
32
|
#include "absl/strings/string_view.h"
|
34
33
|
#include "src/core/credentials/transport/security_connector.h"
|
@@ -38,6 +37,7 @@
|
|
38
37
|
#include "src/core/lib/transport/transport.h"
|
39
38
|
#include "src/core/transport/auth_context.h"
|
40
39
|
#include "src/core/util/crash.h"
|
40
|
+
#include "src/core/util/grpc_check.h"
|
41
41
|
#include "src/core/util/ref_counted.h"
|
42
42
|
#include "src/core/util/ref_counted_ptr.h"
|
43
43
|
#include "src/core/util/unique_type_name.h"
|
@@ -130,7 +130,7 @@ struct grpc_call_credentials
|
|
130
130
|
// If this method returns 0, it means that gRPC can treat the two call
|
131
131
|
// credentials as effectively the same..
|
132
132
|
int cmp(const grpc_call_credentials* other) const {
|
133
|
-
|
133
|
+
GRPC_CHECK_NE(other, nullptr);
|
134
134
|
int r = type().Compare(other->type());
|
135
135
|
if (r != 0) return r;
|
136
136
|
return cmp_impl(other);
|
@@ -20,13 +20,13 @@
|
|
20
20
|
#include <grpc/support/string_util.h>
|
21
21
|
#include <string.h>
|
22
22
|
|
23
|
-
#include "absl/log/check.h"
|
24
23
|
#include "absl/log/log.h"
|
25
24
|
#include "absl/strings/str_cat.h"
|
26
25
|
#include "absl/strings/string_view.h"
|
27
26
|
#include "src/core/call/metadata_batch.h"
|
28
27
|
#include "src/core/credentials/transport/security_connector.h"
|
29
28
|
#include "src/core/transport/auth_context.h"
|
29
|
+
#include "src/core/util/grpc_check.h"
|
30
30
|
#include "src/core/util/ref_counted_ptr.h"
|
31
31
|
|
32
32
|
namespace grpc_core {
|
@@ -41,7 +41,7 @@ struct ServiceUrlAndMethod {
|
|
41
41
|
ServiceUrlAndMethod MakeServiceUrlAndMethod(
|
42
42
|
const ClientMetadataHandle& initial_metadata,
|
43
43
|
const grpc_call_credentials::GetRequestMetadataArgs* args) {
|
44
|
-
|
44
|
+
GRPC_DCHECK(initial_metadata->get_pointer(HttpPathMetadata()) != nullptr);
|
45
45
|
auto service =
|
46
46
|
initial_metadata->get_pointer(HttpPathMetadata())->as_string_view();
|
47
47
|
auto last_slash = service.find_last_of('/');
|
@@ -56,7 +56,8 @@ ServiceUrlAndMethod MakeServiceUrlAndMethod(
|
|
56
56
|
method_name = service.substr(last_slash + 1);
|
57
57
|
service = service.substr(0, last_slash);
|
58
58
|
}
|
59
|
-
|
59
|
+
GRPC_DCHECK(initial_metadata->get_pointer(HttpAuthorityMetadata()) !=
|
60
|
+
nullptr);
|
60
61
|
auto host_and_port =
|
61
62
|
initial_metadata->get_pointer(HttpAuthorityMetadata())->as_string_view();
|
62
63
|
absl::string_view url_scheme = args->security_connector->url_scheme();
|
@@ -22,12 +22,12 @@
|
|
22
22
|
#include <memory>
|
23
23
|
#include <vector>
|
24
24
|
|
25
|
-
#include "absl/log/check.h"
|
26
25
|
#include "absl/strings/str_cat.h"
|
27
26
|
#include "absl/strings/str_join.h"
|
28
27
|
#include "src/core/call/metadata_batch.h"
|
29
28
|
#include "src/core/lib/debug/trace.h"
|
30
29
|
#include "src/core/lib/promise/try_seq.h"
|
30
|
+
#include "src/core/util/grpc_check.h"
|
31
31
|
#include "src/core/util/ref_counted_ptr.h"
|
32
32
|
|
33
33
|
grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
|
@@ -106,9 +106,9 @@ grpc_call_credentials* grpc_composite_call_credentials_create(
|
|
106
106
|
GRPC_TRACE_LOG(api, INFO)
|
107
107
|
<< "grpc_composite_call_credentials_create(creds1=" << creds1
|
108
108
|
<< ", creds2=" << creds2 << ", reserved=" << reserved << ")";
|
109
|
-
|
110
|
-
|
111
|
-
|
109
|
+
GRPC_CHECK_EQ(reserved, nullptr);
|
110
|
+
GRPC_CHECK_NE(creds1, nullptr);
|
111
|
+
GRPC_CHECK_NE(creds2, nullptr);
|
112
112
|
return grpc_core::MakeRefCounted<grpc_composite_call_credentials>(
|
113
113
|
creds1->Ref(), creds2->Ref())
|
114
114
|
.release();
|
@@ -28,7 +28,6 @@
|
|
28
28
|
#include <optional>
|
29
29
|
#include <utility>
|
30
30
|
|
31
|
-
#include "absl/log/check.h"
|
32
31
|
#include "absl/status/status.h"
|
33
32
|
#include "absl/status/statusor.h"
|
34
33
|
#include "absl/strings/str_cat.h"
|
@@ -38,6 +37,7 @@
|
|
38
37
|
#include "src/core/credentials/transport/transport_credentials.h"
|
39
38
|
#include "src/core/lib/iomgr/closure.h"
|
40
39
|
#include "src/core/util/env.h"
|
40
|
+
#include "src/core/util/grpc_check.h"
|
41
41
|
#include "src/core/util/http_client/httpcli_ssl_credentials.h"
|
42
42
|
#include "src/core/util/json/json.h"
|
43
43
|
#include "src/core/util/json/json_reader.h"
|
@@ -422,8 +422,8 @@ void AwsExternalAccountCredentials::AwsFetchBody::BuildSubjectToken() {
|
|
422
422
|
void AwsExternalAccountCredentials::AwsFetchBody::AddMetadataRequestHeaders(
|
423
423
|
grpc_http_request* request) {
|
424
424
|
if (!imdsv2_session_token_.empty()) {
|
425
|
-
|
426
|
-
|
425
|
+
GRPC_CHECK_EQ(request->hdr_count, 0u);
|
426
|
+
GRPC_CHECK_EQ(request->hdrs, nullptr);
|
427
427
|
grpc_http_header* headers =
|
428
428
|
static_cast<grpc_http_header*>(gpr_malloc(sizeof(grpc_http_header)));
|
429
429
|
headers[0].key = gpr_strdup("x-aws-ec2-metadata-token");
|
@@ -29,7 +29,6 @@
|
|
29
29
|
#include <memory>
|
30
30
|
#include <utility>
|
31
31
|
|
32
|
-
#include "absl/log/check.h"
|
33
32
|
#include "absl/log/log.h"
|
34
33
|
#include "absl/status/status.h"
|
35
34
|
#include "absl/status/statusor.h"
|
@@ -48,6 +47,7 @@
|
|
48
47
|
#include "src/core/credentials/call/external/url_external_account_credentials.h"
|
49
48
|
#include "src/core/credentials/call/json_util.h"
|
50
49
|
#include "src/core/credentials/transport/transport_credentials.h"
|
50
|
+
#include "src/core/util/grpc_check.h"
|
51
51
|
#include "src/core/util/http_client/httpcli_ssl_credentials.h"
|
52
52
|
#include "src/core/util/http_client/parser.h"
|
53
53
|
#include "src/core/util/json/json_reader.h"
|
@@ -27,7 +27,6 @@
|
|
27
27
|
#include <memory>
|
28
28
|
#include <utility>
|
29
29
|
|
30
|
-
#include "absl/log/check.h"
|
31
30
|
#include "absl/status/status.h"
|
32
31
|
#include "absl/status/statusor.h"
|
33
32
|
#include "absl/strings/str_cat.h"
|
@@ -38,6 +37,7 @@
|
|
38
37
|
#include "src/core/credentials/transport/transport_credentials.h"
|
39
38
|
#include "src/core/lib/iomgr/closure.h"
|
40
39
|
#include "src/core/lib/transport/error_utils.h"
|
40
|
+
#include "src/core/util/grpc_check.h"
|
41
41
|
#include "src/core/util/http_client/httpcli_ssl_credentials.h"
|
42
42
|
#include "src/core/util/http_client/parser.h"
|
43
43
|
#include "src/core/util/json/json.h"
|
@@ -24,13 +24,13 @@
|
|
24
24
|
#include <memory>
|
25
25
|
#include <utility>
|
26
26
|
|
27
|
-
#include "absl/log/check.h"
|
28
27
|
#include "absl/strings/str_format.h"
|
29
28
|
#include "absl/strings/string_view.h"
|
30
29
|
#include "src/core/call/metadata_batch.h"
|
31
30
|
#include "src/core/lib/debug/trace.h"
|
32
31
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
33
32
|
#include "src/core/lib/promise/promise.h"
|
33
|
+
#include "src/core/util/grpc_check.h"
|
34
34
|
#include "src/core/util/ref_counted_ptr.h"
|
35
35
|
|
36
36
|
grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
|
@@ -69,9 +69,9 @@ grpc_call_credentials* grpc_google_iam_credentials_create(
|
|
69
69
|
GRPC_TRACE_LOG(api, INFO) << "grpc_iam_credentials_create(token=" << token
|
70
70
|
<< ", authority_selector=" << authority_selector
|
71
71
|
<< ", reserved=" << reserved << ")";
|
72
|
-
|
73
|
-
|
74
|
-
|
72
|
+
GRPC_CHECK_EQ(reserved, nullptr);
|
73
|
+
GRPC_CHECK_NE(token, nullptr);
|
74
|
+
GRPC_CHECK_NE(authority_selector, nullptr);
|
75
75
|
return grpc_core::MakeRefCounted<grpc_google_iam_credentials>(
|
76
76
|
token, authority_selector)
|
77
77
|
.release();
|
@@ -35,13 +35,13 @@
|
|
35
35
|
#include <string>
|
36
36
|
#include <utility>
|
37
37
|
|
38
|
-
#include "absl/log/check.h"
|
39
38
|
#include "absl/log/log.h"
|
40
39
|
#include "absl/status/status.h"
|
41
40
|
#include "absl/status/statusor.h"
|
42
41
|
#include "absl/strings/escaping.h"
|
43
42
|
#include "src/core/credentials/call/json_util.h"
|
44
43
|
#include "src/core/lib/iomgr/error.h"
|
44
|
+
#include "src/core/util/grpc_check.h"
|
45
45
|
#include "src/core/util/json/json_reader.h"
|
46
46
|
#include "src/core/util/json/json_writer.h"
|
47
47
|
|
@@ -221,8 +221,8 @@ static char* dot_concat_and_free_strings(char* str1, char* str2) {
|
|
221
221
|
*(current++) = '.';
|
222
222
|
memcpy(current, str2, str2_len);
|
223
223
|
current += str2_len;
|
224
|
-
|
225
|
-
|
224
|
+
GRPC_CHECK(current >= result);
|
225
|
+
GRPC_CHECK((uintptr_t)(current - result) == result_len);
|
226
226
|
*current = '\0';
|
227
227
|
gpr_free(str1);
|
228
228
|
gpr_free(str2);
|
@@ -30,7 +30,6 @@
|
|
30
30
|
#include <string>
|
31
31
|
#include <utility>
|
32
32
|
|
33
|
-
#include "absl/log/check.h"
|
34
33
|
#include "absl/log/log.h"
|
35
34
|
#include "absl/status/status.h"
|
36
35
|
#include "absl/strings/str_cat.h"
|
@@ -39,6 +38,7 @@
|
|
39
38
|
#include "src/core/lib/debug/trace.h"
|
40
39
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
41
40
|
#include "src/core/lib/promise/promise.h"
|
41
|
+
#include "src/core/util/grpc_check.h"
|
42
42
|
#include "src/core/util/json/json.h"
|
43
43
|
#include "src/core/util/json/json_reader.h"
|
44
44
|
#include "src/core/util/json/json_writer.h"
|
@@ -161,7 +161,7 @@ grpc_call_credentials* grpc_service_account_jwt_access_credentials_create(
|
|
161
161
|
<< " }, reserved=" << reserved << ")";
|
162
162
|
gpr_free(clean_json);
|
163
163
|
}
|
164
|
-
|
164
|
+
GRPC_CHECK_EQ(reserved, nullptr);
|
165
165
|
grpc_core::ExecCtx exec_ctx;
|
166
166
|
return grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
|
167
167
|
grpc_auth_json_key_create_from_string(json_key), token_lifetime)
|