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
@@ -37,7 +37,6 @@
|
|
37
37
|
#include <string>
|
38
38
|
#include <utility>
|
39
39
|
|
40
|
-
#include "absl/log/check.h"
|
41
40
|
#include "absl/log/log.h"
|
42
41
|
#include "absl/status/status.h"
|
43
42
|
#include "absl/strings/escaping.h"
|
@@ -67,6 +66,7 @@
|
|
67
66
|
#include "src/core/util/alloc.h"
|
68
67
|
#include "src/core/util/crash.h"
|
69
68
|
#include "src/core/util/debug_location.h"
|
69
|
+
#include "src/core/util/grpc_check.h"
|
70
70
|
#include "src/core/util/ref_counted.h"
|
71
71
|
#include "src/core/util/ref_counted_ptr.h"
|
72
72
|
#include "src/core/util/status_helper.h"
|
@@ -110,8 +110,8 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
110
110
|
arena->SetContext<grpc_event_engine::experimental::EventEngine>(
|
111
111
|
args->channel->event_engine());
|
112
112
|
call = new (arena->Alloc(call_alloc_size)) FilterStackCall(arena, *args);
|
113
|
-
|
114
|
-
|
113
|
+
GRPC_DCHECK(FromC(call->c_ptr()) == call);
|
114
|
+
GRPC_DCHECK(FromCallStack(call->call_stack()) == call);
|
115
115
|
*out_call = call->c_ptr();
|
116
116
|
grpc_slice path = grpc_empty_slice();
|
117
117
|
ScopedContext ctx(call);
|
@@ -148,25 +148,15 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
148
148
|
// collecting from when the call is created at the transport. The idea is
|
149
149
|
// that the transport would create the call tracer and pass it in as part of
|
150
150
|
// the metadata.
|
151
|
-
|
152
|
-
// set server call tracer. We need to refactor them to stats plugins
|
153
|
-
// (including removing the client channel filters).
|
151
|
+
ServerCallTracerInterface* server_call_tracer_from_factory = nullptr;
|
154
152
|
if (args->server != nullptr &&
|
155
153
|
args->server->server_call_tracer_factory() != nullptr) {
|
156
|
-
|
154
|
+
server_call_tracer_from_factory =
|
157
155
|
args->server->server_call_tracer_factory()->CreateNewServerCallTracer(
|
158
156
|
arena.get(), args->server->channel_args());
|
159
|
-
if (server_call_tracer != nullptr) {
|
160
|
-
// Note that we are setting both
|
161
|
-
// GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE and
|
162
|
-
// GRPC_CONTEXT_CALL_TRACER as a matter of convenience. In the future
|
163
|
-
// promise-based world, we would just a single tracer object for each
|
164
|
-
// stack (call, subchannel_call, server_call.)
|
165
|
-
arena->SetContext<CallTracerAnnotationInterface>(server_call_tracer);
|
166
|
-
arena->SetContext<CallTracerInterface>(server_call_tracer);
|
167
|
-
}
|
168
157
|
}
|
169
|
-
(*channel_stack->stats_plugin_group)
|
158
|
+
(*channel_stack->stats_plugin_group)
|
159
|
+
->AddServerCallTracers(arena.get(), {server_call_tracer_from_factory});
|
170
160
|
}
|
171
161
|
|
172
162
|
// initial refcount dropped by grpc_call_unref
|
@@ -185,7 +175,7 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
185
175
|
call->CancelWithError(error);
|
186
176
|
}
|
187
177
|
if (args->cq != nullptr) {
|
188
|
-
|
178
|
+
GRPC_CHECK(args->pollset_set_alternative == nullptr)
|
189
179
|
<< "Only one of 'cq' and 'pollset_set_alternative' should be "
|
190
180
|
"non-nullptr.";
|
191
181
|
GRPC_CQ_INTERNAL_REF(args->cq, "bind");
|
@@ -224,7 +214,7 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
224
214
|
}
|
225
215
|
|
226
216
|
void FilterStackCall::SetCompletionQueue(grpc_completion_queue* cq) {
|
227
|
-
|
217
|
+
GRPC_CHECK(cq);
|
228
218
|
|
229
219
|
if (grpc_polling_entity_pollset_set(&pollent_) != nullptr) {
|
230
220
|
Crash("A pollset_set is already registered for this call.");
|
@@ -273,7 +263,7 @@ void FilterStackCall::ExternalUnref() {
|
|
273
263
|
|
274
264
|
MaybeUnpublishFromParent();
|
275
265
|
|
276
|
-
|
266
|
+
GRPC_CHECK(!destroy_called_);
|
277
267
|
destroy_called_ = true;
|
278
268
|
bool cancel = gpr_atm_acq_load(&received_final_op_atm_) == 0;
|
279
269
|
if (cancel) {
|
@@ -542,7 +532,6 @@ FilterStackCall::BatchControl* FilterStackCall::ReuseOrAllocateBatchControl(
|
|
542
532
|
*pslot = bctl;
|
543
533
|
}
|
544
534
|
bctl->call_ = this;
|
545
|
-
bctl->call_tracer_ = arena()->GetContext<CallTracerAnnotationInterface>();
|
546
535
|
bctl->op_.payload = &stream_op_payload_;
|
547
536
|
return bctl;
|
548
537
|
}
|
@@ -693,7 +682,7 @@ void FilterStackCall::BatchControl::ReceivingInitialMetadataReady(
|
|
693
682
|
while (true) {
|
694
683
|
gpr_atm rsr_bctlp = gpr_atm_acq_load(&call->recv_state_);
|
695
684
|
// Should only receive initial metadata once
|
696
|
-
|
685
|
+
GRPC_CHECK_NE(rsr_bctlp, 1);
|
697
686
|
if (rsr_bctlp == 0) {
|
698
687
|
// We haven't seen initial metadata and messages before, thus initial
|
699
688
|
// metadata is received first.
|
@@ -1101,7 +1090,7 @@ grpc_call_error FilterStackCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
1101
1090
|
|
1102
1091
|
InternalRef("completion");
|
1103
1092
|
if (!is_notify_tag_closure) {
|
1104
|
-
|
1093
|
+
GRPC_CHECK(grpc_cq_begin_op(cq_, notify_tag));
|
1105
1094
|
}
|
1106
1095
|
bctl->set_pending_ops(pending_ops);
|
1107
1096
|
|
@@ -38,7 +38,6 @@
|
|
38
38
|
#include <string>
|
39
39
|
#include <vector>
|
40
40
|
|
41
|
-
#include "absl/log/check.h"
|
42
41
|
#include "absl/strings/str_cat.h"
|
43
42
|
#include "absl/strings/str_join.h"
|
44
43
|
#include "absl/strings/string_view.h"
|
@@ -56,6 +55,7 @@
|
|
56
55
|
#include "src/core/server/server_interface.h"
|
57
56
|
#include "src/core/telemetry/call_tracer.h"
|
58
57
|
#include "src/core/util/alloc.h"
|
58
|
+
#include "src/core/util/grpc_check.h"
|
59
59
|
#include "src/core/util/ref_counted.h"
|
60
60
|
#include "src/core/util/ref_counted_ptr.h"
|
61
61
|
|
@@ -110,7 +110,7 @@ class FilterStackCall final : public Call {
|
|
110
110
|
|
111
111
|
bool is_trailers_only() const override {
|
112
112
|
bool result = is_trailers_only_;
|
113
|
-
|
113
|
+
GRPC_DCHECK(!result || recv_initial_metadata_.TransportSize() == 0);
|
114
114
|
return result;
|
115
115
|
}
|
116
116
|
|
@@ -184,7 +184,6 @@ class FilterStackCall final : public Call {
|
|
184
184
|
}
|
185
185
|
struct BatchControl {
|
186
186
|
FilterStackCall* call_ = nullptr;
|
187
|
-
CallTracerAnnotationInterface* call_tracer_ = nullptr;
|
188
187
|
grpc_transport_stream_op_batch op_;
|
189
188
|
// Share memory for cq_completion and notify_tag as they are never needed
|
190
189
|
// simultaneously. Each byte used in this data structure count as six bytes
|
@@ -219,7 +218,7 @@ class FilterStackCall final : public Call {
|
|
219
218
|
<< "BATCH:" << this << " COMPLETE:" << PendingOpString(mask)
|
220
219
|
<< " REMAINING:" << PendingOpString(r & ~mask)
|
221
220
|
<< " (tag:" << completion_data_.notify_tag.tag << ")";
|
222
|
-
|
221
|
+
GRPC_CHECK_NE((r & mask), 0);
|
223
222
|
return r == mask;
|
224
223
|
}
|
225
224
|
|
@@ -27,7 +27,6 @@
|
|
27
27
|
#include <optional>
|
28
28
|
|
29
29
|
#include "absl/base/thread_annotations.h"
|
30
|
-
#include "absl/log/check.h"
|
31
30
|
#include "absl/log/log.h"
|
32
31
|
#include "absl/status/status.h"
|
33
32
|
#include "src/core/channelz/channelz.h"
|
@@ -55,6 +54,7 @@
|
|
55
54
|
#include "src/core/telemetry/stats_data.h"
|
56
55
|
#include "src/core/util/crash.h"
|
57
56
|
#include "src/core/util/dual_ref_counted.h"
|
57
|
+
#include "src/core/util/grpc_check.h"
|
58
58
|
#include "src/core/util/ref_counted_ptr.h"
|
59
59
|
#include "src/core/util/sync.h"
|
60
60
|
#include "src/core/util/time.h"
|
@@ -188,8 +188,8 @@ grpc_call* LegacyChannel::CreateCall(grpc_call* parent_call,
|
|
188
188
|
Slice path, std::optional<Slice> authority,
|
189
189
|
Timestamp deadline,
|
190
190
|
bool registered_method) {
|
191
|
-
|
192
|
-
|
191
|
+
GRPC_CHECK(is_client_);
|
192
|
+
GRPC_CHECK(!(cq != nullptr && pollset_set_alternative != nullptr));
|
193
193
|
grpc_call_create_args args;
|
194
194
|
args.channel = RefAsSubclass<LegacyChannel>();
|
195
195
|
args.server = nullptr;
|
@@ -234,7 +234,7 @@ class LegacyChannel::StateWatcher final : public DualRefCounted<StateWatcher> {
|
|
234
234
|
cq_(cq),
|
235
235
|
tag_(tag),
|
236
236
|
state_(last_observed_state) {
|
237
|
-
|
237
|
+
GRPC_CHECK(grpc_cq_begin_op(cq, tag));
|
238
238
|
GRPC_CLOSURE_INIT(&on_complete_, WatchComplete, this, nullptr);
|
239
239
|
ClientChannelFilter* client_channel = channel_->GetClientChannelFilter();
|
240
240
|
if (client_channel == nullptr) {
|
@@ -363,14 +363,14 @@ void LegacyChannel::AddConnectivityWatcher(
|
|
363
363
|
grpc_connectivity_state initial_state,
|
364
364
|
OrphanablePtr<AsyncConnectivityStateWatcherInterface> watcher) {
|
365
365
|
auto* client_channel = GetClientChannelFilter();
|
366
|
-
|
366
|
+
GRPC_CHECK_NE(client_channel, nullptr);
|
367
367
|
client_channel->AddConnectivityWatcher(initial_state, std::move(watcher));
|
368
368
|
}
|
369
369
|
|
370
370
|
void LegacyChannel::RemoveConnectivityWatcher(
|
371
371
|
AsyncConnectivityStateWatcherInterface* watcher) {
|
372
372
|
auto* client_channel = GetClientChannelFilter();
|
373
|
-
|
373
|
+
GRPC_CHECK_NE(client_channel, nullptr);
|
374
374
|
client_channel->RemoveConnectivityWatcher(watcher);
|
375
375
|
}
|
376
376
|
|
@@ -414,7 +414,7 @@ void LegacyChannel::Ping(grpc_completion_queue* cq, void* tag) {
|
|
414
414
|
grpc_transport_op* op = grpc_make_transport_op(nullptr);
|
415
415
|
op->send_ping.on_ack = &pr->closure;
|
416
416
|
op->bind_pollset = grpc_cq_pollset(cq);
|
417
|
-
|
417
|
+
GRPC_CHECK(grpc_cq_begin_op(cq, tag));
|
418
418
|
grpc_channel_element* top_elem =
|
419
419
|
grpc_channel_stack_element(channel_stack_.get(), 0);
|
420
420
|
top_elem->filter->start_transport_op(top_elem, op);
|
@@ -25,9 +25,9 @@
|
|
25
25
|
|
26
26
|
#include <cstring>
|
27
27
|
|
28
|
-
#include "absl/log/check.h"
|
29
28
|
#include "absl/strings/string_view.h"
|
30
29
|
#include "src/core/lib/iomgr/error.h"
|
30
|
+
#include "src/core/util/grpc_check.h"
|
31
31
|
|
32
32
|
namespace grpc_core {
|
33
33
|
|
@@ -56,7 +56,7 @@ inline int grpc_key_is_binary_header(const uint8_t* buf, size_t length) {
|
|
56
56
|
return 0 == memcmp(buf + length - 4, "-bin", 4);
|
57
57
|
}
|
58
58
|
inline int grpc_is_refcounted_slice_binary_header(const grpc_slice& slice) {
|
59
|
-
|
59
|
+
GRPC_DCHECK_NE(slice.refcount, nullptr);
|
60
60
|
return grpc_key_is_binary_header(slice.data.refcounted.bytes,
|
61
61
|
slice.data.refcounted.length);
|
62
62
|
}
|
@@ -22,6 +22,6 @@
|
|
22
22
|
#include <grpc/grpc.h>
|
23
23
|
#include <grpc/support/port_platform.h>
|
24
24
|
|
25
|
-
const char* grpc_version_string(void) { return "
|
25
|
+
const char* grpc_version_string(void) { return "51.0.0"; }
|
26
26
|
|
27
|
-
const char* grpc_g_stands_for(void) { return "
|
27
|
+
const char* grpc_g_stands_for(void) { return "genuine"; }
|
@@ -24,8 +24,8 @@
|
|
24
24
|
|
25
25
|
#include <algorithm>
|
26
26
|
|
27
|
-
#include "absl/log/check.h"
|
28
27
|
#include "absl/log/log.h"
|
28
|
+
#include "src/core/util/grpc_check.h"
|
29
29
|
|
30
30
|
namespace grpc_core {
|
31
31
|
|
@@ -50,7 +50,7 @@ Timestamp BdpEstimator::CompletePing() {
|
|
50
50
|
<< "bdp[" << name_ << "]:complete acc=" << accumulator_
|
51
51
|
<< " est=" << estimate_ << " dt=" << dt << " bw=" << bw / 125000.0
|
52
52
|
<< "Mbs bw_est=" << bw_est_ / 125000.0 << "Mbs";
|
53
|
-
|
53
|
+
GRPC_CHECK(ping_state_ == PingState::STARTED);
|
54
54
|
if (accumulator_ > 2 * estimate_ / 3 && bw > bw_est_) {
|
55
55
|
estimate_ = std::max(accumulator_, estimate_ * 2);
|
56
56
|
bw_est_ = bw;
|
@@ -25,10 +25,10 @@
|
|
25
25
|
|
26
26
|
#include <string>
|
27
27
|
|
28
|
-
#include "absl/log/check.h"
|
29
28
|
#include "absl/log/log.h"
|
30
29
|
#include "absl/strings/string_view.h"
|
31
30
|
#include "src/core/lib/debug/trace.h"
|
31
|
+
#include "src/core/util/grpc_check.h"
|
32
32
|
#include "src/core/util/time.h"
|
33
33
|
|
34
34
|
namespace grpc_core {
|
@@ -50,7 +50,7 @@ class BdpEstimator {
|
|
50
50
|
GRPC_TRACE_LOG(bdp_estimator, INFO)
|
51
51
|
<< "bdp[" << name_ << "]:sched acc=" << accumulator_
|
52
52
|
<< " est=" << estimate_;
|
53
|
-
|
53
|
+
GRPC_CHECK(ping_state_ == PingState::UNSCHEDULED);
|
54
54
|
ping_state_ = PingState::SCHEDULED;
|
55
55
|
accumulator_ = 0;
|
56
56
|
}
|
@@ -62,7 +62,7 @@ class BdpEstimator {
|
|
62
62
|
GRPC_TRACE_LOG(bdp_estimator, INFO)
|
63
63
|
<< "bdp[" << name_ << "]:start acc=" << accumulator_
|
64
64
|
<< " est=" << estimate_;
|
65
|
-
|
65
|
+
GRPC_CHECK(ping_state_ == PingState::SCHEDULED);
|
66
66
|
ping_state_ = PingState::STARTED;
|
67
67
|
ping_start_time_ = gpr_now(GPR_CLOCK_MONOTONIC);
|
68
68
|
}
|
@@ -25,9 +25,9 @@
|
|
25
25
|
#include <optional>
|
26
26
|
#include <utility>
|
27
27
|
|
28
|
-
#include "absl/log/check.h"
|
29
28
|
#include "absl/status/status.h"
|
30
29
|
#include "src/core/lib/slice/slice_buffer.h"
|
30
|
+
#include "src/core/util/grpc_check.h"
|
31
31
|
#include "src/core/util/sync.h"
|
32
32
|
|
33
33
|
namespace grpc_core {
|
@@ -37,7 +37,7 @@ PromiseEndpoint::PromiseEndpoint(
|
|
37
37
|
endpoint,
|
38
38
|
SliceBuffer already_received)
|
39
39
|
: endpoint_(std::move(endpoint)) {
|
40
|
-
|
40
|
+
GRPC_CHECK_NE(endpoint_, nullptr);
|
41
41
|
read_state_->endpoint = endpoint_;
|
42
42
|
// TODO(ladynana): Replace this with `SliceBufferCast<>` when it is
|
43
43
|
// available.
|
@@ -72,7 +72,7 @@ void PromiseEndpoint::ReadState::Complete(absl::Status status,
|
|
72
72
|
// Appends `pending_buffer` to `buffer`.
|
73
73
|
pending_buffer.MoveFirstNBytesIntoSliceBuffer(pending_buffer.Length(),
|
74
74
|
buffer);
|
75
|
-
|
75
|
+
GRPC_DCHECK(pending_buffer.Count() == 0u);
|
76
76
|
if (buffer.Length() < num_bytes_requested) {
|
77
77
|
GRPC_LATENT_SEE_SCOPE("PromiseEndpoint::ReadState::Continue");
|
78
78
|
// A further read is needed.
|
@@ -31,7 +31,6 @@
|
|
31
31
|
#include <utility>
|
32
32
|
|
33
33
|
#include "absl/base/thread_annotations.h"
|
34
|
-
#include "absl/log/check.h"
|
35
34
|
#include "absl/status/status.h"
|
36
35
|
#include "absl/status/statusor.h"
|
37
36
|
#include "src/core/lib/event_engine/extensions/chaotic_good_extension.h"
|
@@ -45,6 +44,7 @@
|
|
45
44
|
#include "src/core/lib/slice/slice.h"
|
46
45
|
#include "src/core/lib/slice/slice_buffer.h"
|
47
46
|
#include "src/core/util/dump_args.h"
|
47
|
+
#include "src/core/util/grpc_check.h"
|
48
48
|
#include "src/core/util/sync.h"
|
49
49
|
|
50
50
|
namespace grpc_core {
|
@@ -78,7 +78,7 @@ class PromiseEndpoint {
|
|
78
78
|
// Start write and assert previous write finishes.
|
79
79
|
auto prev = write_state_->state.exchange(WriteState::kWriting,
|
80
80
|
std::memory_order_relaxed);
|
81
|
-
|
81
|
+
GRPC_CHECK(prev == WriteState::kIdle);
|
82
82
|
bool completed;
|
83
83
|
if (data.Length() == 0) {
|
84
84
|
completed = true;
|
@@ -104,7 +104,7 @@ class PromiseEndpoint {
|
|
104
104
|
return [write_state = write_state_]() {
|
105
105
|
auto prev = write_state->state.exchange(WriteState::kIdle,
|
106
106
|
std::memory_order_relaxed);
|
107
|
-
|
107
|
+
GRPC_CHECK(prev == WriteState::kWriting);
|
108
108
|
return absl::OkStatus();
|
109
109
|
};
|
110
110
|
},
|
@@ -123,7 +123,7 @@ class PromiseEndpoint {
|
|
123
123
|
}
|
124
124
|
// State was not Written; since we're polling it must be
|
125
125
|
// Writing. Assert that and return Pending.
|
126
|
-
|
126
|
+
GRPC_CHECK(expected == WriteState::kWriting);
|
127
127
|
return Pending();
|
128
128
|
};
|
129
129
|
})));
|
@@ -138,9 +138,9 @@ class PromiseEndpoint {
|
|
138
138
|
auto Read(size_t num_bytes) {
|
139
139
|
GRPC_LATENT_SEE_SCOPE("GRPC:Read");
|
140
140
|
// Assert previous read finishes.
|
141
|
-
|
141
|
+
GRPC_CHECK(!read_state_->complete.load(std::memory_order_relaxed));
|
142
142
|
// Should not have pending reads.
|
143
|
-
|
143
|
+
GRPC_CHECK_EQ(read_state_->pending_buffer.Count(), 0u);
|
144
144
|
bool complete = true;
|
145
145
|
while (read_state_->buffer.Length() < num_bytes) {
|
146
146
|
GRPC_LATENT_SEE_SCOPE("GRPC:Read:Loop");
|
@@ -161,7 +161,7 @@ class PromiseEndpoint {
|
|
161
161
|
read_state_->waker = Waker();
|
162
162
|
read_state_->pending_buffer.MoveFirstNBytesIntoSliceBuffer(
|
163
163
|
read_state_->pending_buffer.Length(), read_state_->buffer);
|
164
|
-
|
164
|
+
GRPC_DCHECK_EQ(read_state_->pending_buffer.Count(), 0u);
|
165
165
|
} else {
|
166
166
|
complete = false;
|
167
167
|
break;
|
@@ -293,7 +293,7 @@ class PromiseEndpoint {
|
|
293
293
|
auto prev = state.exchange(kWritten, std::memory_order_release);
|
294
294
|
// Previous state should be Writing. If we got anything else we've entered
|
295
295
|
// the callback path twice.
|
296
|
-
|
296
|
+
GRPC_CHECK(prev == kWriting);
|
297
297
|
w.Wakeup();
|
298
298
|
}
|
299
299
|
};
|
@@ -24,7 +24,7 @@
|
|
24
24
|
#include <limits>
|
25
25
|
|
26
26
|
#include "absl/base/attributes.h"
|
27
|
-
#include "
|
27
|
+
#include "src/core/util/grpc_check.h"
|
28
28
|
|
29
29
|
namespace grpc_core {
|
30
30
|
|
@@ -182,7 +182,7 @@ Timeout Timeout::FromMillis(int64_t millis) {
|
|
182
182
|
}
|
183
183
|
|
184
184
|
Timeout Timeout::FromSeconds(int64_t seconds) {
|
185
|
-
|
185
|
+
GRPC_DCHECK_NE(seconds, 0);
|
186
186
|
if (seconds < 1000) {
|
187
187
|
if (seconds % kSecondsPerMinute != 0) {
|
188
188
|
return Timeout(seconds, Unit::kSeconds);
|
@@ -202,7 +202,7 @@ Timeout Timeout::FromSeconds(int64_t seconds) {
|
|
202
202
|
}
|
203
203
|
|
204
204
|
Timeout Timeout::FromMinutes(int64_t minutes) {
|
205
|
-
|
205
|
+
GRPC_DCHECK_NE(minutes, 0);
|
206
206
|
if (minutes < 1000) {
|
207
207
|
if (minutes % kMinutesPerHour != 0) {
|
208
208
|
return Timeout(minutes, Unit::kMinutes);
|
@@ -222,7 +222,7 @@ Timeout Timeout::FromMinutes(int64_t minutes) {
|
|
222
222
|
}
|
223
223
|
|
224
224
|
Timeout Timeout::FromHours(int64_t hours) {
|
225
|
-
|
225
|
+
GRPC_DCHECK_NE(hours, 0);
|
226
226
|
if (hours < kMaxHours) {
|
227
227
|
return Timeout(hours, Unit::kHours);
|
228
228
|
}
|
@@ -22,7 +22,6 @@
|
|
22
22
|
#include <memory>
|
23
23
|
#include <string>
|
24
24
|
|
25
|
-
#include "absl/log/check.h"
|
26
25
|
#include "absl/log/log.h"
|
27
26
|
#include "absl/status/status.h"
|
28
27
|
#include "absl/strings/str_cat.h"
|
@@ -36,6 +35,7 @@
|
|
36
35
|
#include "src/core/load_balancing/lb_policy_registry.h"
|
37
36
|
#include "src/core/load_balancing/subchannel_interface.h"
|
38
37
|
#include "src/core/util/debug_location.h"
|
38
|
+
#include "src/core/util/grpc_check.h"
|
39
39
|
|
40
40
|
namespace grpc_core {
|
41
41
|
|
@@ -112,12 +112,12 @@ class ChildPolicyHandler::Helper final
|
|
112
112
|
|
113
113
|
private:
|
114
114
|
bool CalledByPendingChild() const {
|
115
|
-
|
115
|
+
GRPC_CHECK_NE(child_, nullptr);
|
116
116
|
return child_ == parent()->pending_child_policy_.get();
|
117
117
|
}
|
118
118
|
|
119
119
|
bool CalledByCurrentChild() const {
|
120
|
-
|
120
|
+
GRPC_CHECK_NE(child_, nullptr);
|
121
121
|
return child_ == parent()->child_policy_.get();
|
122
122
|
};
|
123
123
|
|
@@ -237,7 +237,7 @@ absl::Status ChildPolicyHandler::UpdateLocked(UpdateArgs args) {
|
|
237
237
|
? pending_child_policy_.get()
|
238
238
|
: child_policy_.get();
|
239
239
|
}
|
240
|
-
|
240
|
+
GRPC_CHECK_NE(policy_to_update, nullptr);
|
241
241
|
// Update the policy.
|
242
242
|
if (GRPC_TRACE_FLAG_ENABLED_OBJ(*tracer_)) {
|
243
243
|
LOG(INFO) << "[child_policy_handler " << this << "] updating "
|
@@ -26,7 +26,6 @@
|
|
26
26
|
#include <utility>
|
27
27
|
#include <vector>
|
28
28
|
|
29
|
-
#include "absl/log/check.h"
|
30
29
|
#include "absl/log/log.h"
|
31
30
|
#include "absl/random/random.h"
|
32
31
|
#include "absl/status/status.h"
|
@@ -41,6 +40,7 @@
|
|
41
40
|
#include "src/core/load_balancing/pick_first/pick_first.h"
|
42
41
|
#include "src/core/resolver/endpoint_addresses.h"
|
43
42
|
#include "src/core/util/debug_location.h"
|
43
|
+
#include "src/core/util/grpc_check.h"
|
44
44
|
#include "src/core/util/json/json.h"
|
45
45
|
#include "src/core/util/orphanable.h"
|
46
46
|
#include "src/core/util/ref_counted_ptr.h"
|
@@ -119,7 +119,7 @@ absl::Status EndpointList::Endpoint::Init(
|
|
119
119
|
CoreConfiguration::Get().lb_policy_registry().ParseLoadBalancingConfig(
|
120
120
|
Json::FromArray(
|
121
121
|
{Json::FromObject({{"pick_first", Json::FromObject({})}})}));
|
122
|
-
|
122
|
+
GRPC_CHECK(config.ok());
|
123
123
|
// Update child policy.
|
124
124
|
LoadBalancingPolicy::UpdateArgs update_args;
|
125
125
|
update_args.addresses = std::make_shared<SingleEndpointIterator>(addresses);
|