grpc 1.64.3 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +57 -58
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/impl/channel_arg_names.h +7 -3
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +3 -3
- data/src/core/channelz/channelz.h +7 -7
- data/src/core/channelz/channelz_registry.cc +4 -3
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +266 -709
- data/src/core/client_channel/client_channel_filter.h +11 -64
- data/src/core/client_channel/client_channel_internal.h +16 -5
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +3 -3
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/retry_filter.cc +2 -9
- data/src/core/client_channel/retry_filter.h +2 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +220 -112
- data/src/core/client_channel/subchannel.h +31 -18
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +36 -49
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.h +1 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
- data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
- data/src/core/handshaker/handshaker.cc +6 -14
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
- data/src/core/handshaker/security/secure_endpoint.cc +38 -32
- data/src/core/handshaker/security/secure_endpoint.h +0 -2
- data/src/core/handshaker/security/security_handshaker.cc +25 -37
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +27 -39
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
- data/src/core/lib/avl/avl.h +1 -1
- data/src/core/lib/channel/channel_args.cc +13 -17
- data/src/core/lib/channel/channel_args.h +19 -8
- data/src/core/lib/channel/channel_stack.cc +5 -63
- data/src/core/lib/channel/channel_stack.h +13 -37
- data/src/core/lib/channel/channel_stack_builder.h +0 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
- data/src/core/lib/channel/connected_channel.cc +37 -676
- data/src/core/lib/channel/promise_based_filter.cc +41 -47
- data/src/core/lib/channel/promise_based_filter.h +124 -477
- data/src/core/lib/channel/status_util.cc +1 -1
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/message_compress.cc +6 -6
- data/src/core/lib/config/config_vars.cc +3 -8
- data/src/core/lib/config/config_vars.h +1 -5
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/trace.cc +43 -59
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +5 -7
- data/src/core/lib/event_engine/ares_resolver.h +1 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
- data/src/core/lib/event_engine/event_engine.cc +29 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +4 -5
- data/src/core/lib/event_engine/forkable.h +0 -11
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
- data/src/core/lib/event_engine/shim.cc +1 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
- data/src/core/lib/event_engine/trace.h +6 -17
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
- data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
- data/src/core/lib/experiments/experiments.cc +35 -151
- data/src/core/lib/experiments/experiments.h +12 -45
- data/src/core/lib/gprpp/bitset.h +1 -1
- data/src/core/lib/gprpp/crash.cc +2 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/per_cpu.cc +1 -1
- data/src/core/lib/gprpp/posix/stat.cc +3 -4
- data/src/core/lib/gprpp/posix/thd.cc +8 -9
- data/src/core/lib/gprpp/ref_counted.h +30 -22
- data/src/core/lib/gprpp/single_set_ptr.h +5 -3
- data/src/core/lib/gprpp/status_helper.cc +11 -30
- data/src/core/lib/gprpp/status_helper.h +3 -31
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +3 -2
- data/src/core/lib/gprpp/unique_type_name.h +1 -1
- data/src/core/lib/gprpp/validation_errors.cc +10 -1
- data/src/core/lib/gprpp/validation_errors.h +11 -0
- data/src/core/lib/gprpp/windows/stat.cc +3 -4
- data/src/core/lib/gprpp/windows/thd.cc +3 -2
- data/src/core/lib/gprpp/work_serializer.cc +48 -57
- data/src/core/lib/iomgr/buffer_list.cc +4 -2
- data/src/core/lib/iomgr/call_combiner.cc +18 -27
- data/src/core/lib/iomgr/call_combiner.h +1 -3
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.h +2 -4
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/combiner.h +0 -2
- data/src/core/lib/iomgr/endpoint.cc +0 -6
- data/src/core/lib/iomgr/endpoint.h +0 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
- data/src/core/lib/iomgr/error.cc +13 -21
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
- data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
- data/src/core/lib/iomgr/ev_posix.cc +8 -9
- data/src/core/lib/iomgr/ev_posix.h +10 -7
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
- data/src/core/lib/iomgr/exec_ctx.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +6 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
- data/src/core/lib/iomgr/iocp_windows.cc +4 -3
- data/src/core/lib/iomgr/iomgr.cc +13 -17
- data/src/core/lib/iomgr/lockfree_event.cc +3 -5
- data/src/core/lib/iomgr/pollset.h +0 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
- data/src/core/lib/iomgr/socket_windows.cc +4 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
- data/src/core/lib/iomgr/tcp_posix.cc +57 -84
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
- data/src/core/lib/iomgr/tcp_windows.cc +25 -41
- data/src/core/lib/iomgr/timer_generic.cc +17 -20
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +17 -30
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/promise/activity.h +27 -4
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +11 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +354 -398
- data/src/core/lib/promise/detail/promise_like.h +6 -5
- data/src/core/lib/promise/detail/seq_state.h +1178 -1178
- data/src/core/lib/promise/for_each.h +6 -6
- data/src/core/lib/promise/interceptor_list.h +6 -7
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/map.h +17 -0
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +7 -8
- data/src/core/lib/promise/party.h +10 -8
- data/src/core/lib/promise/pipe.h +16 -35
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/status_flag.h +2 -0
- data/src/core/lib/resource_quota/arena.cc +56 -79
- data/src/core/lib/resource_quota/arena.h +118 -209
- data/src/core/lib/resource_quota/memory_quota.cc +12 -13
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/periodic_update.cc +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
- data/src/core/lib/security/authorization/matchers.cc +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
- data/src/core/lib/security/context/security_context.cc +12 -13
- data/src/core/lib/security/context/security_context.h +31 -8
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
- data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
- data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
- data/src/core/lib/security/security_connector/security_connector.cc +1 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
- data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice.h +1 -1
- data/src/core/lib/slice/slice_refcount.h +2 -4
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/surface/api_trace.h +1 -3
- data/src/core/lib/surface/call.cc +64 -3738
- data/src/core/lib/surface/call.h +41 -143
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +8 -3
- data/src/core/lib/surface/channel.h +10 -7
- data/src/core/lib/surface/channel_create.cc +14 -6
- data/src/core/lib/surface/channel_create.h +3 -2
- data/src/core/lib/surface/channel_init.cc +21 -77
- data/src/core/lib/surface/channel_init.h +19 -97
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +28 -33
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +7 -6
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +40 -27
- data/src/core/lib/surface/legacy_channel.h +9 -18
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +3 -5
- data/src/core/lib/transport/bdp_estimator.h +2 -4
- data/src/core/lib/transport/call_arena_allocator.h +9 -7
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +28 -10
- data/src/core/lib/transport/call_filters.h +128 -22
- data/src/core/lib/transport/call_spine.cc +5 -6
- data/src/core/lib/transport/call_spine.h +159 -334
- data/src/core/lib/transport/connectivity_state.cc +8 -10
- data/src/core/lib/transport/connectivity_state.h +0 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/metadata_batch.h +10 -1
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/transport.cc +3 -6
- data/src/core/lib/transport/transport.h +43 -40
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/endpoint_list.cc +5 -5
- data/src/core/load_balancing/endpoint_list.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
- data/src/core/load_balancing/health_check_client.cc +10 -13
- data/src/core/load_balancing/lb_policy.cc +5 -8
- data/src/core/load_balancing/lb_policy.h +19 -3
- data/src/core/load_balancing/lb_policy_factory.h +1 -1
- data/src/core/load_balancing/lb_policy_registry.cc +2 -3
- data/src/core/load_balancing/lb_policy_registry.h +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
- data/src/core/load_balancing/priority/priority.cc +26 -28
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +82 -82
- data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
- data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
- data/src/core/load_balancing/xds/cds.cc +14 -16
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
- data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
- data/src/core/resolver/binder/binder_resolver.cc +3 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
- data/src/core/resolver/endpoint_addresses.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/resolver/polling_resolver.cc +30 -35
- data/src/core/resolver/resolver.cc +2 -6
- data/src/core/resolver/resolver.h +0 -2
- data/src/core/resolver/resolver_registry.cc +6 -8
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
- data/src/core/resolver/xds/xds_resolver.cc +13 -15
- data/src/core/server/server.cc +269 -389
- data/src/core/server/server.h +37 -19
- data/src/core/server/server_call_tracer_filter.cc +7 -14
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/server_interface.h +2 -0
- data/src/core/server/xds_channel_stack_modifier.cc +1 -1
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +1 -4
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_call_data.h +13 -11
- data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
- data/src/core/service_config/service_config_impl.cc +5 -5
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/service_config/service_config_parser.cc +3 -6
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
- data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
- data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats.h +5 -5
- data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +14 -17
- data/src/core/tsi/local_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +76 -81
- data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
- data/src/core/tsi/ssl_transport_security_utils.h +11 -0
- data/src/core/tsi/transport_security.cc +0 -4
- data/src/core/tsi/transport_security.h +0 -2
- data/src/core/tsi/transport_security_interface.h +0 -4
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
- data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
- data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
- data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
- data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
- data/src/core/{lib/http → util/http_client}/parser.h +5 -6
- data/src/core/{lib → util}/json/json.h +5 -4
- data/src/core/{lib → util}/json/json_args.h +5 -5
- data/src/core/{lib → util}/json/json_channel_args.h +6 -6
- data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
- data/src/core/{lib → util}/json/json_object_loader.h +7 -7
- data/src/core/{lib → util}/json/json_reader.cc +3 -2
- data/src/core/{lib → util}/json/json_reader.h +6 -6
- data/src/core/{lib → util}/json/json_util.cc +4 -4
- data/src/core/{lib → util}/json/json_util.h +6 -6
- data/src/core/{lib → util}/json/json_writer.cc +3 -3
- data/src/core/{lib → util}/json/json_writer.h +6 -6
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +165 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
- data/src/core/xds/grpc/certificate_provider_store.h +4 -4
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
- data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
- data/src/core/xds/grpc/xds_client_grpc.h +2 -2
- data/src/core/xds/grpc/xds_cluster.cc +4 -5
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_endpoint.cc +4 -5
- data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
- data/src/core/xds/grpc/xds_http_filters.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_route_config.cc +7 -8
- data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
- data/src/core/xds/xds_client/xds_api.cc +5 -9
- data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +39 -45
- data/src/core/xds/xds_client/xds_client.h +0 -3
- data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
- data/src/core/xds/xds_client/xds_client_stats.h +2 -2
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server.c +39 -22
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
- metadata +103 -93
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/handshaker/security/tsi_error.cc +0 -31
- data/src/core/handshaker/security/tsi_error.h +0 -30
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -105
- data/src/core/lib/channel/metrics.cc +0 -334
- data/src/core/lib/channel/metrics.h +0 -365
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -172
- data/src/core/lib/transport/batch_builder.h +0 -474
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/time.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -22,15 +22,15 @@
|
|
22
22
|
#include <utility>
|
23
23
|
|
24
24
|
#include "absl/log/check.h"
|
25
|
+
#include "absl/log/log.h"
|
25
26
|
|
26
|
-
#include <grpc/support/log.h>
|
27
27
|
#include <grpc/support/port_platform.h>
|
28
28
|
|
29
|
+
#include "src/core/lib/debug/trace.h"
|
29
30
|
#include "src/core/lib/gprpp/bitset.h"
|
30
31
|
#include "src/core/lib/gprpp/construct_destruct.h"
|
31
32
|
#include "src/core/lib/promise/detail/promise_like.h"
|
32
33
|
#include "src/core/lib/promise/poll.h"
|
33
|
-
#include "src/core/lib/promise/trace.h"
|
34
34
|
|
35
35
|
namespace grpc_core {
|
36
36
|
namespace promise_detail {
|
@@ -93,15 +93,14 @@ struct JoinState<Traits, P0, P1> {
|
|
93
93
|
typename Traits::template ResultType<std::tuple<Result0, Result1>>;
|
94
94
|
Poll<Result> PollOnce() {
|
95
95
|
if (!ready.is_set(0)) {
|
96
|
-
|
97
|
-
|
98
|
-
}
|
96
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
97
|
+
<< "join[" << this << "]: begin poll joint 1/2";
|
99
98
|
auto poll = promise0();
|
100
|
-
if (
|
99
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
101
100
|
auto* p = poll.value_if_ready();
|
102
|
-
|
103
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
104
|
-
|
101
|
+
VLOG(2) << "join[" << this << "]: joint 1/2 "
|
102
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
103
|
+
: "pending");
|
105
104
|
}
|
106
105
|
if (auto* p = poll.value_if_ready()) {
|
107
106
|
if (Traits::IsOk(*p)) {
|
@@ -112,19 +111,18 @@ struct JoinState<Traits, P0, P1> {
|
|
112
111
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
113
112
|
}
|
114
113
|
}
|
115
|
-
} else if (
|
116
|
-
|
114
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
115
|
+
VLOG(2) << "join[" << this << "]: joint 1/2 already ready";
|
117
116
|
}
|
118
117
|
if (!ready.is_set(1)) {
|
119
|
-
|
120
|
-
|
121
|
-
}
|
118
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
119
|
+
<< "join[" << this << "]: begin poll joint 2/2";
|
122
120
|
auto poll = promise1();
|
123
|
-
if (
|
121
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
124
122
|
auto* p = poll.value_if_ready();
|
125
|
-
|
126
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
127
|
-
|
123
|
+
VLOG(2) << "join[" << this << "]: joint 2/2 "
|
124
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
125
|
+
: "pending");
|
128
126
|
}
|
129
127
|
if (auto* p = poll.value_if_ready()) {
|
130
128
|
if (Traits::IsOk(*p)) {
|
@@ -135,8 +133,8 @@ struct JoinState<Traits, P0, P1> {
|
|
135
133
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
136
134
|
}
|
137
135
|
}
|
138
|
-
} else if (
|
139
|
-
|
136
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
137
|
+
VLOG(2) << "join[" << this << "]: joint 2/2 already ready";
|
140
138
|
}
|
141
139
|
if (ready.all()) {
|
142
140
|
return Traits::FinalReturn(std::move(result0), std::move(result1));
|
@@ -219,15 +217,14 @@ struct JoinState<Traits, P0, P1, P2> {
|
|
219
217
|
std::tuple<Result0, Result1, Result2>>;
|
220
218
|
Poll<Result> PollOnce() {
|
221
219
|
if (!ready.is_set(0)) {
|
222
|
-
|
223
|
-
|
224
|
-
}
|
220
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
221
|
+
<< "join[" << this << "]: begin poll joint 1/3";
|
225
222
|
auto poll = promise0();
|
226
|
-
if (
|
223
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
227
224
|
auto* p = poll.value_if_ready();
|
228
|
-
|
229
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
230
|
-
|
225
|
+
VLOG(2) << "join[" << this << "]: joint 1/3 "
|
226
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
227
|
+
: "pending");
|
231
228
|
}
|
232
229
|
if (auto* p = poll.value_if_ready()) {
|
233
230
|
if (Traits::IsOk(*p)) {
|
@@ -238,19 +235,18 @@ struct JoinState<Traits, P0, P1, P2> {
|
|
238
235
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
239
236
|
}
|
240
237
|
}
|
241
|
-
} else if (
|
242
|
-
|
238
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
239
|
+
VLOG(2) << "join[" << this << "]: joint 1/3 already ready";
|
243
240
|
}
|
244
241
|
if (!ready.is_set(1)) {
|
245
|
-
|
246
|
-
|
247
|
-
}
|
242
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
243
|
+
<< "join[" << this << "]: begin poll joint 2/3";
|
248
244
|
auto poll = promise1();
|
249
|
-
if (
|
245
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
250
246
|
auto* p = poll.value_if_ready();
|
251
|
-
|
252
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
253
|
-
|
247
|
+
VLOG(2) << "join[" << this << "]: joint 2/3 "
|
248
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
249
|
+
: "pending");
|
254
250
|
}
|
255
251
|
if (auto* p = poll.value_if_ready()) {
|
256
252
|
if (Traits::IsOk(*p)) {
|
@@ -261,19 +257,18 @@ struct JoinState<Traits, P0, P1, P2> {
|
|
261
257
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
262
258
|
}
|
263
259
|
}
|
264
|
-
} else if (
|
265
|
-
|
260
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
261
|
+
VLOG(2) << "join[" << this << "]: joint 2/3 already ready";
|
266
262
|
}
|
267
263
|
if (!ready.is_set(2)) {
|
268
|
-
|
269
|
-
|
270
|
-
}
|
264
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
265
|
+
<< "join[" << this << "]: begin poll joint 3/3";
|
271
266
|
auto poll = promise2();
|
272
|
-
if (
|
267
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
273
268
|
auto* p = poll.value_if_ready();
|
274
|
-
|
275
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
276
|
-
|
269
|
+
VLOG(2) << "join[" << this << "]: joint 3/3 "
|
270
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
271
|
+
: "pending");
|
277
272
|
}
|
278
273
|
if (auto* p = poll.value_if_ready()) {
|
279
274
|
if (Traits::IsOk(*p)) {
|
@@ -284,8 +279,8 @@ struct JoinState<Traits, P0, P1, P2> {
|
|
284
279
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
285
280
|
}
|
286
281
|
}
|
287
|
-
} else if (
|
288
|
-
|
282
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
283
|
+
VLOG(2) << "join[" << this << "]: joint 3/3 already ready";
|
289
284
|
}
|
290
285
|
if (ready.all()) {
|
291
286
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -387,15 +382,14 @@ struct JoinState<Traits, P0, P1, P2, P3> {
|
|
387
382
|
std::tuple<Result0, Result1, Result2, Result3>>;
|
388
383
|
Poll<Result> PollOnce() {
|
389
384
|
if (!ready.is_set(0)) {
|
390
|
-
|
391
|
-
|
392
|
-
}
|
385
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
386
|
+
<< "join[" << this << "]: begin poll joint 1/4";
|
393
387
|
auto poll = promise0();
|
394
|
-
if (
|
388
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
395
389
|
auto* p = poll.value_if_ready();
|
396
|
-
|
397
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
398
|
-
|
390
|
+
VLOG(2) << "join[" << this << "]: joint 1/4 "
|
391
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
392
|
+
: "pending");
|
399
393
|
}
|
400
394
|
if (auto* p = poll.value_if_ready()) {
|
401
395
|
if (Traits::IsOk(*p)) {
|
@@ -406,19 +400,18 @@ struct JoinState<Traits, P0, P1, P2, P3> {
|
|
406
400
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
407
401
|
}
|
408
402
|
}
|
409
|
-
} else if (
|
410
|
-
|
403
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
404
|
+
VLOG(2) << "join[" << this << "]: joint 1/4 already ready";
|
411
405
|
}
|
412
406
|
if (!ready.is_set(1)) {
|
413
|
-
|
414
|
-
|
415
|
-
}
|
407
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
408
|
+
<< "join[" << this << "]: begin poll joint 2/4";
|
416
409
|
auto poll = promise1();
|
417
|
-
if (
|
410
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
418
411
|
auto* p = poll.value_if_ready();
|
419
|
-
|
420
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
421
|
-
|
412
|
+
VLOG(2) << "join[" << this << "]: joint 2/4 "
|
413
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
414
|
+
: "pending");
|
422
415
|
}
|
423
416
|
if (auto* p = poll.value_if_ready()) {
|
424
417
|
if (Traits::IsOk(*p)) {
|
@@ -429,19 +422,18 @@ struct JoinState<Traits, P0, P1, P2, P3> {
|
|
429
422
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
430
423
|
}
|
431
424
|
}
|
432
|
-
} else if (
|
433
|
-
|
425
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
426
|
+
VLOG(2) << "join[" << this << "]: joint 2/4 already ready";
|
434
427
|
}
|
435
428
|
if (!ready.is_set(2)) {
|
436
|
-
|
437
|
-
|
438
|
-
}
|
429
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
430
|
+
<< "join[" << this << "]: begin poll joint 3/4";
|
439
431
|
auto poll = promise2();
|
440
|
-
if (
|
432
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
441
433
|
auto* p = poll.value_if_ready();
|
442
|
-
|
443
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
444
|
-
|
434
|
+
VLOG(2) << "join[" << this << "]: joint 3/4 "
|
435
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
436
|
+
: "pending");
|
445
437
|
}
|
446
438
|
if (auto* p = poll.value_if_ready()) {
|
447
439
|
if (Traits::IsOk(*p)) {
|
@@ -452,19 +444,18 @@ struct JoinState<Traits, P0, P1, P2, P3> {
|
|
452
444
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
453
445
|
}
|
454
446
|
}
|
455
|
-
} else if (
|
456
|
-
|
447
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
448
|
+
VLOG(2) << "join[" << this << "]: joint 3/4 already ready";
|
457
449
|
}
|
458
450
|
if (!ready.is_set(3)) {
|
459
|
-
|
460
|
-
|
461
|
-
}
|
451
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
452
|
+
<< "join[" << this << "]: begin poll joint 4/4";
|
462
453
|
auto poll = promise3();
|
463
|
-
if (
|
454
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
464
455
|
auto* p = poll.value_if_ready();
|
465
|
-
|
466
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
467
|
-
|
456
|
+
VLOG(2) << "join[" << this << "]: joint 4/4 "
|
457
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
458
|
+
: "pending");
|
468
459
|
}
|
469
460
|
if (auto* p = poll.value_if_ready()) {
|
470
461
|
if (Traits::IsOk(*p)) {
|
@@ -475,8 +466,8 @@ struct JoinState<Traits, P0, P1, P2, P3> {
|
|
475
466
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
476
467
|
}
|
477
468
|
}
|
478
|
-
} else if (
|
479
|
-
|
469
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
470
|
+
VLOG(2) << "join[" << this << "]: joint 4/4 already ready";
|
480
471
|
}
|
481
472
|
if (ready.all()) {
|
482
473
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -597,15 +588,14 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
597
588
|
std::tuple<Result0, Result1, Result2, Result3, Result4>>;
|
598
589
|
Poll<Result> PollOnce() {
|
599
590
|
if (!ready.is_set(0)) {
|
600
|
-
|
601
|
-
|
602
|
-
}
|
591
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
592
|
+
<< "join[" << this << "]: begin poll joint 1/5";
|
603
593
|
auto poll = promise0();
|
604
|
-
if (
|
594
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
605
595
|
auto* p = poll.value_if_ready();
|
606
|
-
|
607
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
608
|
-
|
596
|
+
VLOG(2) << "join[" << this << "]: joint 1/5 "
|
597
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
598
|
+
: "pending");
|
609
599
|
}
|
610
600
|
if (auto* p = poll.value_if_ready()) {
|
611
601
|
if (Traits::IsOk(*p)) {
|
@@ -616,19 +606,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
616
606
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
617
607
|
}
|
618
608
|
}
|
619
|
-
} else if (
|
620
|
-
|
609
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
610
|
+
VLOG(2) << "join[" << this << "]: joint 1/5 already ready";
|
621
611
|
}
|
622
612
|
if (!ready.is_set(1)) {
|
623
|
-
|
624
|
-
|
625
|
-
}
|
613
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
614
|
+
<< "join[" << this << "]: begin poll joint 2/5";
|
626
615
|
auto poll = promise1();
|
627
|
-
if (
|
616
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
628
617
|
auto* p = poll.value_if_ready();
|
629
|
-
|
630
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
631
|
-
|
618
|
+
VLOG(2) << "join[" << this << "]: joint 2/5 "
|
619
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
620
|
+
: "pending");
|
632
621
|
}
|
633
622
|
if (auto* p = poll.value_if_ready()) {
|
634
623
|
if (Traits::IsOk(*p)) {
|
@@ -639,19 +628,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
639
628
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
640
629
|
}
|
641
630
|
}
|
642
|
-
} else if (
|
643
|
-
|
631
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
632
|
+
VLOG(2) << "join[" << this << "]: joint 2/5 already ready";
|
644
633
|
}
|
645
634
|
if (!ready.is_set(2)) {
|
646
|
-
|
647
|
-
|
648
|
-
}
|
635
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
636
|
+
<< "join[" << this << "]: begin poll joint 3/5";
|
649
637
|
auto poll = promise2();
|
650
|
-
if (
|
638
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
651
639
|
auto* p = poll.value_if_ready();
|
652
|
-
|
653
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
654
|
-
|
640
|
+
VLOG(2) << "join[" << this << "]: joint 3/5 "
|
641
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
642
|
+
: "pending");
|
655
643
|
}
|
656
644
|
if (auto* p = poll.value_if_ready()) {
|
657
645
|
if (Traits::IsOk(*p)) {
|
@@ -662,19 +650,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
662
650
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
663
651
|
}
|
664
652
|
}
|
665
|
-
} else if (
|
666
|
-
|
653
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
654
|
+
VLOG(2) << "join[" << this << "]: joint 3/5 already ready";
|
667
655
|
}
|
668
656
|
if (!ready.is_set(3)) {
|
669
|
-
|
670
|
-
|
671
|
-
}
|
657
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
658
|
+
<< "join[" << this << "]: begin poll joint 4/5";
|
672
659
|
auto poll = promise3();
|
673
|
-
if (
|
660
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
674
661
|
auto* p = poll.value_if_ready();
|
675
|
-
|
676
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
677
|
-
|
662
|
+
VLOG(2) << "join[" << this << "]: joint 4/5 "
|
663
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
664
|
+
: "pending");
|
678
665
|
}
|
679
666
|
if (auto* p = poll.value_if_ready()) {
|
680
667
|
if (Traits::IsOk(*p)) {
|
@@ -685,19 +672,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
685
672
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
686
673
|
}
|
687
674
|
}
|
688
|
-
} else if (
|
689
|
-
|
675
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
676
|
+
VLOG(2) << "join[" << this << "]: joint 4/5 already ready";
|
690
677
|
}
|
691
678
|
if (!ready.is_set(4)) {
|
692
|
-
|
693
|
-
|
694
|
-
}
|
679
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
680
|
+
<< "join[" << this << "]: begin poll joint 5/5";
|
695
681
|
auto poll = promise4();
|
696
|
-
if (
|
682
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
697
683
|
auto* p = poll.value_if_ready();
|
698
|
-
|
699
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
700
|
-
|
684
|
+
VLOG(2) << "join[" << this << "]: joint 5/5 "
|
685
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
686
|
+
: "pending");
|
701
687
|
}
|
702
688
|
if (auto* p = poll.value_if_ready()) {
|
703
689
|
if (Traits::IsOk(*p)) {
|
@@ -708,8 +694,8 @@ struct JoinState<Traits, P0, P1, P2, P3, P4> {
|
|
708
694
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
709
695
|
}
|
710
696
|
}
|
711
|
-
} else if (
|
712
|
-
|
697
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
698
|
+
VLOG(2) << "join[" << this << "]: joint 5/5 already ready";
|
713
699
|
}
|
714
700
|
if (ready.all()) {
|
715
701
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -849,15 +835,14 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
849
835
|
std::tuple<Result0, Result1, Result2, Result3, Result4, Result5>>;
|
850
836
|
Poll<Result> PollOnce() {
|
851
837
|
if (!ready.is_set(0)) {
|
852
|
-
|
853
|
-
|
854
|
-
}
|
838
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
839
|
+
<< "join[" << this << "]: begin poll joint 1/6";
|
855
840
|
auto poll = promise0();
|
856
|
-
if (
|
841
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
857
842
|
auto* p = poll.value_if_ready();
|
858
|
-
|
859
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
860
|
-
|
843
|
+
VLOG(2) << "join[" << this << "]: joint 1/6 "
|
844
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
845
|
+
: "pending");
|
861
846
|
}
|
862
847
|
if (auto* p = poll.value_if_ready()) {
|
863
848
|
if (Traits::IsOk(*p)) {
|
@@ -868,19 +853,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
868
853
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
869
854
|
}
|
870
855
|
}
|
871
|
-
} else if (
|
872
|
-
|
856
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
857
|
+
VLOG(2) << "join[" << this << "]: joint 1/6 already ready";
|
873
858
|
}
|
874
859
|
if (!ready.is_set(1)) {
|
875
|
-
|
876
|
-
|
877
|
-
}
|
860
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
861
|
+
<< "join[" << this << "]: begin poll joint 2/6";
|
878
862
|
auto poll = promise1();
|
879
|
-
if (
|
863
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
880
864
|
auto* p = poll.value_if_ready();
|
881
|
-
|
882
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
883
|
-
|
865
|
+
VLOG(2) << "join[" << this << "]: joint 2/6 "
|
866
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
867
|
+
: "pending");
|
884
868
|
}
|
885
869
|
if (auto* p = poll.value_if_ready()) {
|
886
870
|
if (Traits::IsOk(*p)) {
|
@@ -891,19 +875,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
891
875
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
892
876
|
}
|
893
877
|
}
|
894
|
-
} else if (
|
895
|
-
|
878
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
879
|
+
VLOG(2) << "join[" << this << "]: joint 2/6 already ready";
|
896
880
|
}
|
897
881
|
if (!ready.is_set(2)) {
|
898
|
-
|
899
|
-
|
900
|
-
}
|
882
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
883
|
+
<< "join[" << this << "]: begin poll joint 3/6";
|
901
884
|
auto poll = promise2();
|
902
|
-
if (
|
885
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
903
886
|
auto* p = poll.value_if_ready();
|
904
|
-
|
905
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
906
|
-
|
887
|
+
VLOG(2) << "join[" << this << "]: joint 3/6 "
|
888
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
889
|
+
: "pending");
|
907
890
|
}
|
908
891
|
if (auto* p = poll.value_if_ready()) {
|
909
892
|
if (Traits::IsOk(*p)) {
|
@@ -914,19 +897,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
914
897
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
915
898
|
}
|
916
899
|
}
|
917
|
-
} else if (
|
918
|
-
|
900
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
901
|
+
VLOG(2) << "join[" << this << "]: joint 3/6 already ready";
|
919
902
|
}
|
920
903
|
if (!ready.is_set(3)) {
|
921
|
-
|
922
|
-
|
923
|
-
}
|
904
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
905
|
+
<< "join[" << this << "]: begin poll joint 4/6";
|
924
906
|
auto poll = promise3();
|
925
|
-
if (
|
907
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
926
908
|
auto* p = poll.value_if_ready();
|
927
|
-
|
928
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
929
|
-
|
909
|
+
VLOG(2) << "join[" << this << "]: joint 4/6 "
|
910
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
911
|
+
: "pending");
|
930
912
|
}
|
931
913
|
if (auto* p = poll.value_if_ready()) {
|
932
914
|
if (Traits::IsOk(*p)) {
|
@@ -937,19 +919,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
937
919
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
938
920
|
}
|
939
921
|
}
|
940
|
-
} else if (
|
941
|
-
|
922
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
923
|
+
VLOG(2) << "join[" << this << "]: joint 4/6 already ready";
|
942
924
|
}
|
943
925
|
if (!ready.is_set(4)) {
|
944
|
-
|
945
|
-
|
946
|
-
}
|
926
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
927
|
+
<< "join[" << this << "]: begin poll joint 5/6";
|
947
928
|
auto poll = promise4();
|
948
|
-
if (
|
929
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
949
930
|
auto* p = poll.value_if_ready();
|
950
|
-
|
951
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
952
|
-
|
931
|
+
VLOG(2) << "join[" << this << "]: joint 5/6 "
|
932
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
933
|
+
: "pending");
|
953
934
|
}
|
954
935
|
if (auto* p = poll.value_if_ready()) {
|
955
936
|
if (Traits::IsOk(*p)) {
|
@@ -960,19 +941,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
960
941
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
961
942
|
}
|
962
943
|
}
|
963
|
-
} else if (
|
964
|
-
|
944
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
945
|
+
VLOG(2) << "join[" << this << "]: joint 5/6 already ready";
|
965
946
|
}
|
966
947
|
if (!ready.is_set(5)) {
|
967
|
-
|
968
|
-
|
969
|
-
}
|
948
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
949
|
+
<< "join[" << this << "]: begin poll joint 6/6";
|
970
950
|
auto poll = promise5();
|
971
|
-
if (
|
951
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
972
952
|
auto* p = poll.value_if_ready();
|
973
|
-
|
974
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
975
|
-
|
953
|
+
VLOG(2) << "join[" << this << "]: joint 6/6 "
|
954
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
955
|
+
: "pending");
|
976
956
|
}
|
977
957
|
if (auto* p = poll.value_if_ready()) {
|
978
958
|
if (Traits::IsOk(*p)) {
|
@@ -983,8 +963,8 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5> {
|
|
983
963
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
984
964
|
}
|
985
965
|
}
|
986
|
-
} else if (
|
987
|
-
|
966
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
967
|
+
VLOG(2) << "join[" << this << "]: joint 6/6 already ready";
|
988
968
|
}
|
989
969
|
if (ready.all()) {
|
990
970
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -1142,15 +1122,14 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1142
1122
|
Result0, Result1, Result2, Result3, Result4, Result5, Result6>>;
|
1143
1123
|
Poll<Result> PollOnce() {
|
1144
1124
|
if (!ready.is_set(0)) {
|
1145
|
-
|
1146
|
-
|
1147
|
-
}
|
1125
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1126
|
+
<< "join[" << this << "]: begin poll joint 1/7";
|
1148
1127
|
auto poll = promise0();
|
1149
|
-
if (
|
1128
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1150
1129
|
auto* p = poll.value_if_ready();
|
1151
|
-
|
1152
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1153
|
-
|
1130
|
+
VLOG(2) << "join[" << this << "]: joint 1/7 "
|
1131
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1132
|
+
: "pending");
|
1154
1133
|
}
|
1155
1134
|
if (auto* p = poll.value_if_ready()) {
|
1156
1135
|
if (Traits::IsOk(*p)) {
|
@@ -1161,19 +1140,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1161
1140
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1162
1141
|
}
|
1163
1142
|
}
|
1164
|
-
} else if (
|
1165
|
-
|
1143
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1144
|
+
VLOG(2) << "join[" << this << "]: joint 1/7 already ready";
|
1166
1145
|
}
|
1167
1146
|
if (!ready.is_set(1)) {
|
1168
|
-
|
1169
|
-
|
1170
|
-
}
|
1147
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1148
|
+
<< "join[" << this << "]: begin poll joint 2/7";
|
1171
1149
|
auto poll = promise1();
|
1172
|
-
if (
|
1150
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1173
1151
|
auto* p = poll.value_if_ready();
|
1174
|
-
|
1175
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1176
|
-
|
1152
|
+
VLOG(2) << "join[" << this << "]: joint 2/7 "
|
1153
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1154
|
+
: "pending");
|
1177
1155
|
}
|
1178
1156
|
if (auto* p = poll.value_if_ready()) {
|
1179
1157
|
if (Traits::IsOk(*p)) {
|
@@ -1184,19 +1162,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1184
1162
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1185
1163
|
}
|
1186
1164
|
}
|
1187
|
-
} else if (
|
1188
|
-
|
1165
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1166
|
+
VLOG(2) << "join[" << this << "]: joint 2/7 already ready";
|
1189
1167
|
}
|
1190
1168
|
if (!ready.is_set(2)) {
|
1191
|
-
|
1192
|
-
|
1193
|
-
}
|
1169
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1170
|
+
<< "join[" << this << "]: begin poll joint 3/7";
|
1194
1171
|
auto poll = promise2();
|
1195
|
-
if (
|
1172
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1196
1173
|
auto* p = poll.value_if_ready();
|
1197
|
-
|
1198
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1199
|
-
|
1174
|
+
VLOG(2) << "join[" << this << "]: joint 3/7 "
|
1175
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1176
|
+
: "pending");
|
1200
1177
|
}
|
1201
1178
|
if (auto* p = poll.value_if_ready()) {
|
1202
1179
|
if (Traits::IsOk(*p)) {
|
@@ -1207,19 +1184,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1207
1184
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1208
1185
|
}
|
1209
1186
|
}
|
1210
|
-
} else if (
|
1211
|
-
|
1187
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1188
|
+
VLOG(2) << "join[" << this << "]: joint 3/7 already ready";
|
1212
1189
|
}
|
1213
1190
|
if (!ready.is_set(3)) {
|
1214
|
-
|
1215
|
-
|
1216
|
-
}
|
1191
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1192
|
+
<< "join[" << this << "]: begin poll joint 4/7";
|
1217
1193
|
auto poll = promise3();
|
1218
|
-
if (
|
1194
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1219
1195
|
auto* p = poll.value_if_ready();
|
1220
|
-
|
1221
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1222
|
-
|
1196
|
+
VLOG(2) << "join[" << this << "]: joint 4/7 "
|
1197
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1198
|
+
: "pending");
|
1223
1199
|
}
|
1224
1200
|
if (auto* p = poll.value_if_ready()) {
|
1225
1201
|
if (Traits::IsOk(*p)) {
|
@@ -1230,19 +1206,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1230
1206
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1231
1207
|
}
|
1232
1208
|
}
|
1233
|
-
} else if (
|
1234
|
-
|
1209
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1210
|
+
VLOG(2) << "join[" << this << "]: joint 4/7 already ready";
|
1235
1211
|
}
|
1236
1212
|
if (!ready.is_set(4)) {
|
1237
|
-
|
1238
|
-
|
1239
|
-
}
|
1213
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1214
|
+
<< "join[" << this << "]: begin poll joint 5/7";
|
1240
1215
|
auto poll = promise4();
|
1241
|
-
if (
|
1216
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1242
1217
|
auto* p = poll.value_if_ready();
|
1243
|
-
|
1244
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1245
|
-
|
1218
|
+
VLOG(2) << "join[" << this << "]: joint 5/7 "
|
1219
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1220
|
+
: "pending");
|
1246
1221
|
}
|
1247
1222
|
if (auto* p = poll.value_if_ready()) {
|
1248
1223
|
if (Traits::IsOk(*p)) {
|
@@ -1253,19 +1228,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1253
1228
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1254
1229
|
}
|
1255
1230
|
}
|
1256
|
-
} else if (
|
1257
|
-
|
1231
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1232
|
+
VLOG(2) << "join[" << this << "]: joint 5/7 already ready";
|
1258
1233
|
}
|
1259
1234
|
if (!ready.is_set(5)) {
|
1260
|
-
|
1261
|
-
|
1262
|
-
}
|
1235
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1236
|
+
<< "join[" << this << "]: begin poll joint 6/7";
|
1263
1237
|
auto poll = promise5();
|
1264
|
-
if (
|
1238
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1265
1239
|
auto* p = poll.value_if_ready();
|
1266
|
-
|
1267
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1268
|
-
|
1240
|
+
VLOG(2) << "join[" << this << "]: joint 6/7 "
|
1241
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1242
|
+
: "pending");
|
1269
1243
|
}
|
1270
1244
|
if (auto* p = poll.value_if_ready()) {
|
1271
1245
|
if (Traits::IsOk(*p)) {
|
@@ -1276,19 +1250,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1276
1250
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1277
1251
|
}
|
1278
1252
|
}
|
1279
|
-
} else if (
|
1280
|
-
|
1253
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1254
|
+
VLOG(2) << "join[" << this << "]: joint 6/7 already ready";
|
1281
1255
|
}
|
1282
1256
|
if (!ready.is_set(6)) {
|
1283
|
-
|
1284
|
-
|
1285
|
-
}
|
1257
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1258
|
+
<< "join[" << this << "]: begin poll joint 7/7";
|
1286
1259
|
auto poll = promise6();
|
1287
|
-
if (
|
1260
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1288
1261
|
auto* p = poll.value_if_ready();
|
1289
|
-
|
1290
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1291
|
-
|
1262
|
+
VLOG(2) << "join[" << this << "]: joint 7/7 "
|
1263
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1264
|
+
: "pending");
|
1292
1265
|
}
|
1293
1266
|
if (auto* p = poll.value_if_ready()) {
|
1294
1267
|
if (Traits::IsOk(*p)) {
|
@@ -1299,8 +1272,8 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6> {
|
|
1299
1272
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1300
1273
|
}
|
1301
1274
|
}
|
1302
|
-
} else if (
|
1303
|
-
|
1275
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1276
|
+
VLOG(2) << "join[" << this << "]: joint 7/7 already ready";
|
1304
1277
|
}
|
1305
1278
|
if (ready.all()) {
|
1306
1279
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -1478,15 +1451,14 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1478
1451
|
Result0, Result1, Result2, Result3, Result4, Result5, Result6, Result7>>;
|
1479
1452
|
Poll<Result> PollOnce() {
|
1480
1453
|
if (!ready.is_set(0)) {
|
1481
|
-
|
1482
|
-
|
1483
|
-
}
|
1454
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1455
|
+
<< "join[" << this << "]: begin poll joint 1/8";
|
1484
1456
|
auto poll = promise0();
|
1485
|
-
if (
|
1457
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1486
1458
|
auto* p = poll.value_if_ready();
|
1487
|
-
|
1488
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1489
|
-
|
1459
|
+
VLOG(2) << "join[" << this << "]: joint 1/8 "
|
1460
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1461
|
+
: "pending");
|
1490
1462
|
}
|
1491
1463
|
if (auto* p = poll.value_if_ready()) {
|
1492
1464
|
if (Traits::IsOk(*p)) {
|
@@ -1497,19 +1469,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1497
1469
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1498
1470
|
}
|
1499
1471
|
}
|
1500
|
-
} else if (
|
1501
|
-
|
1472
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1473
|
+
VLOG(2) << "join[" << this << "]: joint 1/8 already ready";
|
1502
1474
|
}
|
1503
1475
|
if (!ready.is_set(1)) {
|
1504
|
-
|
1505
|
-
|
1506
|
-
}
|
1476
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1477
|
+
<< "join[" << this << "]: begin poll joint 2/8";
|
1507
1478
|
auto poll = promise1();
|
1508
|
-
if (
|
1479
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1509
1480
|
auto* p = poll.value_if_ready();
|
1510
|
-
|
1511
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1512
|
-
|
1481
|
+
VLOG(2) << "join[" << this << "]: joint 2/8 "
|
1482
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1483
|
+
: "pending");
|
1513
1484
|
}
|
1514
1485
|
if (auto* p = poll.value_if_ready()) {
|
1515
1486
|
if (Traits::IsOk(*p)) {
|
@@ -1520,19 +1491,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1520
1491
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1521
1492
|
}
|
1522
1493
|
}
|
1523
|
-
} else if (
|
1524
|
-
|
1494
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1495
|
+
VLOG(2) << "join[" << this << "]: joint 2/8 already ready";
|
1525
1496
|
}
|
1526
1497
|
if (!ready.is_set(2)) {
|
1527
|
-
|
1528
|
-
|
1529
|
-
}
|
1498
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1499
|
+
<< "join[" << this << "]: begin poll joint 3/8";
|
1530
1500
|
auto poll = promise2();
|
1531
|
-
if (
|
1501
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1532
1502
|
auto* p = poll.value_if_ready();
|
1533
|
-
|
1534
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1535
|
-
|
1503
|
+
VLOG(2) << "join[" << this << "]: joint 3/8 "
|
1504
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1505
|
+
: "pending");
|
1536
1506
|
}
|
1537
1507
|
if (auto* p = poll.value_if_ready()) {
|
1538
1508
|
if (Traits::IsOk(*p)) {
|
@@ -1543,19 +1513,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1543
1513
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1544
1514
|
}
|
1545
1515
|
}
|
1546
|
-
} else if (
|
1547
|
-
|
1516
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1517
|
+
VLOG(2) << "join[" << this << "]: joint 3/8 already ready";
|
1548
1518
|
}
|
1549
1519
|
if (!ready.is_set(3)) {
|
1550
|
-
|
1551
|
-
|
1552
|
-
}
|
1520
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1521
|
+
<< "join[" << this << "]: begin poll joint 4/8";
|
1553
1522
|
auto poll = promise3();
|
1554
|
-
if (
|
1523
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1555
1524
|
auto* p = poll.value_if_ready();
|
1556
|
-
|
1557
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1558
|
-
|
1525
|
+
VLOG(2) << "join[" << this << "]: joint 4/8 "
|
1526
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1527
|
+
: "pending");
|
1559
1528
|
}
|
1560
1529
|
if (auto* p = poll.value_if_ready()) {
|
1561
1530
|
if (Traits::IsOk(*p)) {
|
@@ -1566,19 +1535,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1566
1535
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1567
1536
|
}
|
1568
1537
|
}
|
1569
|
-
} else if (
|
1570
|
-
|
1538
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1539
|
+
VLOG(2) << "join[" << this << "]: joint 4/8 already ready";
|
1571
1540
|
}
|
1572
1541
|
if (!ready.is_set(4)) {
|
1573
|
-
|
1574
|
-
|
1575
|
-
}
|
1542
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1543
|
+
<< "join[" << this << "]: begin poll joint 5/8";
|
1576
1544
|
auto poll = promise4();
|
1577
|
-
if (
|
1545
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1578
1546
|
auto* p = poll.value_if_ready();
|
1579
|
-
|
1580
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1581
|
-
|
1547
|
+
VLOG(2) << "join[" << this << "]: joint 5/8 "
|
1548
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1549
|
+
: "pending");
|
1582
1550
|
}
|
1583
1551
|
if (auto* p = poll.value_if_ready()) {
|
1584
1552
|
if (Traits::IsOk(*p)) {
|
@@ -1589,19 +1557,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1589
1557
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1590
1558
|
}
|
1591
1559
|
}
|
1592
|
-
} else if (
|
1593
|
-
|
1560
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1561
|
+
VLOG(2) << "join[" << this << "]: joint 5/8 already ready";
|
1594
1562
|
}
|
1595
1563
|
if (!ready.is_set(5)) {
|
1596
|
-
|
1597
|
-
|
1598
|
-
}
|
1564
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1565
|
+
<< "join[" << this << "]: begin poll joint 6/8";
|
1599
1566
|
auto poll = promise5();
|
1600
|
-
if (
|
1567
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1601
1568
|
auto* p = poll.value_if_ready();
|
1602
|
-
|
1603
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1604
|
-
|
1569
|
+
VLOG(2) << "join[" << this << "]: joint 6/8 "
|
1570
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1571
|
+
: "pending");
|
1605
1572
|
}
|
1606
1573
|
if (auto* p = poll.value_if_ready()) {
|
1607
1574
|
if (Traits::IsOk(*p)) {
|
@@ -1612,19 +1579,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1612
1579
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1613
1580
|
}
|
1614
1581
|
}
|
1615
|
-
} else if (
|
1616
|
-
|
1582
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1583
|
+
VLOG(2) << "join[" << this << "]: joint 6/8 already ready";
|
1617
1584
|
}
|
1618
1585
|
if (!ready.is_set(6)) {
|
1619
|
-
|
1620
|
-
|
1621
|
-
}
|
1586
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1587
|
+
<< "join[" << this << "]: begin poll joint 7/8";
|
1622
1588
|
auto poll = promise6();
|
1623
|
-
if (
|
1589
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1624
1590
|
auto* p = poll.value_if_ready();
|
1625
|
-
|
1626
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1627
|
-
|
1591
|
+
VLOG(2) << "join[" << this << "]: joint 7/8 "
|
1592
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1593
|
+
: "pending");
|
1628
1594
|
}
|
1629
1595
|
if (auto* p = poll.value_if_ready()) {
|
1630
1596
|
if (Traits::IsOk(*p)) {
|
@@ -1635,19 +1601,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1635
1601
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1636
1602
|
}
|
1637
1603
|
}
|
1638
|
-
} else if (
|
1639
|
-
|
1604
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1605
|
+
VLOG(2) << "join[" << this << "]: joint 7/8 already ready";
|
1640
1606
|
}
|
1641
1607
|
if (!ready.is_set(7)) {
|
1642
|
-
|
1643
|
-
|
1644
|
-
}
|
1608
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1609
|
+
<< "join[" << this << "]: begin poll joint 8/8";
|
1645
1610
|
auto poll = promise7();
|
1646
|
-
if (
|
1611
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1647
1612
|
auto* p = poll.value_if_ready();
|
1648
|
-
|
1649
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1650
|
-
|
1613
|
+
VLOG(2) << "join[" << this << "]: joint 8/8 "
|
1614
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1615
|
+
: "pending");
|
1651
1616
|
}
|
1652
1617
|
if (auto* p = poll.value_if_ready()) {
|
1653
1618
|
if (Traits::IsOk(*p)) {
|
@@ -1658,8 +1623,8 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7> {
|
|
1658
1623
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1659
1624
|
}
|
1660
1625
|
}
|
1661
|
-
} else if (
|
1662
|
-
|
1626
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1627
|
+
VLOG(2) << "join[" << this << "]: joint 8/8 already ready";
|
1663
1628
|
}
|
1664
1629
|
if (ready.all()) {
|
1665
1630
|
return Traits::FinalReturn(std::move(result0), std::move(result1),
|
@@ -1856,15 +1821,14 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1856
1821
|
Result7, Result8>>;
|
1857
1822
|
Poll<Result> PollOnce() {
|
1858
1823
|
if (!ready.is_set(0)) {
|
1859
|
-
|
1860
|
-
|
1861
|
-
}
|
1824
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1825
|
+
<< "join[" << this << "]: begin poll joint 1/9";
|
1862
1826
|
auto poll = promise0();
|
1863
|
-
if (
|
1827
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1864
1828
|
auto* p = poll.value_if_ready();
|
1865
|
-
|
1866
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1867
|
-
|
1829
|
+
VLOG(2) << "join[" << this << "]: joint 1/9 "
|
1830
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1831
|
+
: "pending");
|
1868
1832
|
}
|
1869
1833
|
if (auto* p = poll.value_if_ready()) {
|
1870
1834
|
if (Traits::IsOk(*p)) {
|
@@ -1875,19 +1839,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1875
1839
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1876
1840
|
}
|
1877
1841
|
}
|
1878
|
-
} else if (
|
1879
|
-
|
1842
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1843
|
+
VLOG(2) << "join[" << this << "]: joint 1/9 already ready";
|
1880
1844
|
}
|
1881
1845
|
if (!ready.is_set(1)) {
|
1882
|
-
|
1883
|
-
|
1884
|
-
}
|
1846
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1847
|
+
<< "join[" << this << "]: begin poll joint 2/9";
|
1885
1848
|
auto poll = promise1();
|
1886
|
-
if (
|
1849
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1887
1850
|
auto* p = poll.value_if_ready();
|
1888
|
-
|
1889
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1890
|
-
|
1851
|
+
VLOG(2) << "join[" << this << "]: joint 2/9 "
|
1852
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1853
|
+
: "pending");
|
1891
1854
|
}
|
1892
1855
|
if (auto* p = poll.value_if_ready()) {
|
1893
1856
|
if (Traits::IsOk(*p)) {
|
@@ -1898,19 +1861,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1898
1861
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1899
1862
|
}
|
1900
1863
|
}
|
1901
|
-
} else if (
|
1902
|
-
|
1864
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1865
|
+
VLOG(2) << "join[" << this << "]: joint 2/9 already ready";
|
1903
1866
|
}
|
1904
1867
|
if (!ready.is_set(2)) {
|
1905
|
-
|
1906
|
-
|
1907
|
-
}
|
1868
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1869
|
+
<< "join[" << this << "]: begin poll joint 3/9";
|
1908
1870
|
auto poll = promise2();
|
1909
|
-
if (
|
1871
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1910
1872
|
auto* p = poll.value_if_ready();
|
1911
|
-
|
1912
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1913
|
-
|
1873
|
+
VLOG(2) << "join[" << this << "]: joint 3/9 "
|
1874
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1875
|
+
: "pending");
|
1914
1876
|
}
|
1915
1877
|
if (auto* p = poll.value_if_ready()) {
|
1916
1878
|
if (Traits::IsOk(*p)) {
|
@@ -1921,19 +1883,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1921
1883
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1922
1884
|
}
|
1923
1885
|
}
|
1924
|
-
} else if (
|
1925
|
-
|
1886
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1887
|
+
VLOG(2) << "join[" << this << "]: joint 3/9 already ready";
|
1926
1888
|
}
|
1927
1889
|
if (!ready.is_set(3)) {
|
1928
|
-
|
1929
|
-
|
1930
|
-
}
|
1890
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1891
|
+
<< "join[" << this << "]: begin poll joint 4/9";
|
1931
1892
|
auto poll = promise3();
|
1932
|
-
if (
|
1893
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1933
1894
|
auto* p = poll.value_if_ready();
|
1934
|
-
|
1935
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1936
|
-
|
1895
|
+
VLOG(2) << "join[" << this << "]: joint 4/9 "
|
1896
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1897
|
+
: "pending");
|
1937
1898
|
}
|
1938
1899
|
if (auto* p = poll.value_if_ready()) {
|
1939
1900
|
if (Traits::IsOk(*p)) {
|
@@ -1944,19 +1905,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1944
1905
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1945
1906
|
}
|
1946
1907
|
}
|
1947
|
-
} else if (
|
1948
|
-
|
1908
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1909
|
+
VLOG(2) << "join[" << this << "]: joint 4/9 already ready";
|
1949
1910
|
}
|
1950
1911
|
if (!ready.is_set(4)) {
|
1951
|
-
|
1952
|
-
|
1953
|
-
}
|
1912
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1913
|
+
<< "join[" << this << "]: begin poll joint 5/9";
|
1954
1914
|
auto poll = promise4();
|
1955
|
-
if (
|
1915
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1956
1916
|
auto* p = poll.value_if_ready();
|
1957
|
-
|
1958
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1959
|
-
|
1917
|
+
VLOG(2) << "join[" << this << "]: joint 5/9 "
|
1918
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1919
|
+
: "pending");
|
1960
1920
|
}
|
1961
1921
|
if (auto* p = poll.value_if_ready()) {
|
1962
1922
|
if (Traits::IsOk(*p)) {
|
@@ -1967,19 +1927,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1967
1927
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1968
1928
|
}
|
1969
1929
|
}
|
1970
|
-
} else if (
|
1971
|
-
|
1930
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1931
|
+
VLOG(2) << "join[" << this << "]: joint 5/9 already ready";
|
1972
1932
|
}
|
1973
1933
|
if (!ready.is_set(5)) {
|
1974
|
-
|
1975
|
-
|
1976
|
-
}
|
1934
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1935
|
+
<< "join[" << this << "]: begin poll joint 6/9";
|
1977
1936
|
auto poll = promise5();
|
1978
|
-
if (
|
1937
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1979
1938
|
auto* p = poll.value_if_ready();
|
1980
|
-
|
1981
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1982
|
-
|
1939
|
+
VLOG(2) << "join[" << this << "]: joint 6/9 "
|
1940
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1941
|
+
: "pending");
|
1983
1942
|
}
|
1984
1943
|
if (auto* p = poll.value_if_ready()) {
|
1985
1944
|
if (Traits::IsOk(*p)) {
|
@@ -1990,19 +1949,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
1990
1949
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
1991
1950
|
}
|
1992
1951
|
}
|
1993
|
-
} else if (
|
1994
|
-
|
1952
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1953
|
+
VLOG(2) << "join[" << this << "]: joint 6/9 already ready";
|
1995
1954
|
}
|
1996
1955
|
if (!ready.is_set(6)) {
|
1997
|
-
|
1998
|
-
|
1999
|
-
}
|
1956
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1957
|
+
<< "join[" << this << "]: begin poll joint 7/9";
|
2000
1958
|
auto poll = promise6();
|
2001
|
-
if (
|
1959
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
2002
1960
|
auto* p = poll.value_if_ready();
|
2003
|
-
|
2004
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
2005
|
-
|
1961
|
+
VLOG(2) << "join[" << this << "]: joint 7/9 "
|
1962
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1963
|
+
: "pending");
|
2006
1964
|
}
|
2007
1965
|
if (auto* p = poll.value_if_ready()) {
|
2008
1966
|
if (Traits::IsOk(*p)) {
|
@@ -2013,19 +1971,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
2013
1971
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
2014
1972
|
}
|
2015
1973
|
}
|
2016
|
-
} else if (
|
2017
|
-
|
1974
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1975
|
+
VLOG(2) << "join[" << this << "]: joint 7/9 already ready";
|
2018
1976
|
}
|
2019
1977
|
if (!ready.is_set(7)) {
|
2020
|
-
|
2021
|
-
|
2022
|
-
}
|
1978
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
1979
|
+
<< "join[" << this << "]: begin poll joint 8/9";
|
2023
1980
|
auto poll = promise7();
|
2024
|
-
if (
|
1981
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
2025
1982
|
auto* p = poll.value_if_ready();
|
2026
|
-
|
2027
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
2028
|
-
|
1983
|
+
VLOG(2) << "join[" << this << "]: joint 8/9 "
|
1984
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
1985
|
+
: "pending");
|
2029
1986
|
}
|
2030
1987
|
if (auto* p = poll.value_if_ready()) {
|
2031
1988
|
if (Traits::IsOk(*p)) {
|
@@ -2036,19 +1993,18 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
2036
1993
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
2037
1994
|
}
|
2038
1995
|
}
|
2039
|
-
} else if (
|
2040
|
-
|
1996
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
1997
|
+
VLOG(2) << "join[" << this << "]: joint 8/9 already ready";
|
2041
1998
|
}
|
2042
1999
|
if (!ready.is_set(8)) {
|
2043
|
-
|
2044
|
-
|
2045
|
-
}
|
2000
|
+
GRPC_TRACE_VLOG(promise_primitives, 2)
|
2001
|
+
<< "join[" << this << "]: begin poll joint 9/9";
|
2046
2002
|
auto poll = promise8();
|
2047
|
-
if (
|
2003
|
+
if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
2048
2004
|
auto* p = poll.value_if_ready();
|
2049
|
-
|
2050
|
-
p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
2051
|
-
|
2005
|
+
VLOG(2) << "join[" << this << "]: joint 9/9 "
|
2006
|
+
<< (p != nullptr ? (Traits::IsOk(*p) ? "ready" : "early-error")
|
2007
|
+
: "pending");
|
2052
2008
|
}
|
2053
2009
|
if (auto* p = poll.value_if_ready()) {
|
2054
2010
|
if (Traits::IsOk(*p)) {
|
@@ -2059,8 +2015,8 @@ struct JoinState<Traits, P0, P1, P2, P3, P4, P5, P6, P7, P8> {
|
|
2059
2015
|
return Traits::template EarlyReturn<Result>(std::move(*p));
|
2060
2016
|
}
|
2061
2017
|
}
|
2062
|
-
} else if (
|
2063
|
-
|
2018
|
+
} else if (GRPC_TRACE_FLAG_ENABLED(promise_primitives)) {
|
2019
|
+
VLOG(2) << "join[" << this << "]: joint 9/9 already ready";
|
2064
2020
|
}
|
2065
2021
|
if (ready.all()) {
|
2066
2022
|
return Traits::FinalReturn(
|