grpc 1.37.1 → 1.38.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +64 -58
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +2 -2
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +5 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +1 -1
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +101 -93
- data/src/core/ext/xds/xds_api.h +6 -6
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +21 -13
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +4 -5
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +217 -106
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +4 -4
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +11 -10
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +36 -34
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +25 -23
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +6 -6
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +477 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +68 -45
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -28,8 +28,9 @@
|
|
28
28
|
#include "src/core/lib/security/transport/auth_filters.h"
|
29
29
|
#include "src/core/lib/slice/slice_internal.h"
|
30
30
|
|
31
|
-
static void recv_initial_metadata_ready(void* arg,
|
32
|
-
static void recv_trailing_metadata_ready(void* user_data,
|
31
|
+
static void recv_initial_metadata_ready(void* arg, grpc_error_handle error);
|
32
|
+
static void recv_trailing_metadata_ready(void* user_data,
|
33
|
+
grpc_error_handle error);
|
33
34
|
|
34
35
|
namespace {
|
35
36
|
enum async_state {
|
@@ -79,10 +80,10 @@ struct call_data {
|
|
79
80
|
grpc_transport_stream_op_batch* recv_initial_metadata_batch;
|
80
81
|
grpc_closure* original_recv_initial_metadata_ready;
|
81
82
|
grpc_closure recv_initial_metadata_ready;
|
82
|
-
|
83
|
+
grpc_error_handle recv_initial_metadata_error = GRPC_ERROR_NONE;
|
83
84
|
grpc_closure recv_trailing_metadata_ready;
|
84
85
|
grpc_closure* original_recv_trailing_metadata_ready;
|
85
|
-
|
86
|
+
grpc_error_handle recv_trailing_metadata_error;
|
86
87
|
bool seen_recv_trailing_metadata_ready = false;
|
87
88
|
grpc_metadata_array md;
|
88
89
|
const grpc_metadata* consumed_md;
|
@@ -135,7 +136,7 @@ static void on_md_processing_done_inner(grpc_call_element* elem,
|
|
135
136
|
size_t num_consumed_md,
|
136
137
|
const grpc_metadata* response_md,
|
137
138
|
size_t num_response_md,
|
138
|
-
|
139
|
+
grpc_error_handle error) {
|
139
140
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
140
141
|
grpc_transport_stream_op_batch* batch = calld->recv_initial_metadata_batch;
|
141
142
|
/* TODO(jboeuf): Implement support for response_md. */
|
@@ -175,7 +176,7 @@ static void on_md_processing_done(
|
|
175
176
|
// If the call was not cancelled while we were in flight, process the result.
|
176
177
|
if (gpr_atm_full_cas(&calld->state, static_cast<gpr_atm>(STATE_INIT),
|
177
178
|
static_cast<gpr_atm>(STATE_DONE))) {
|
178
|
-
|
179
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
179
180
|
if (status != GRPC_STATUS_OK) {
|
180
181
|
if (error_details == nullptr) {
|
181
182
|
error_details = "Authentication metadata processing failed.";
|
@@ -196,7 +197,7 @@ static void on_md_processing_done(
|
|
196
197
|
GRPC_CALL_STACK_UNREF(calld->owning_call, "server_auth_metadata");
|
197
198
|
}
|
198
199
|
|
199
|
-
static void cancel_call(void* arg,
|
200
|
+
static void cancel_call(void* arg, grpc_error_handle error) {
|
200
201
|
grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
|
201
202
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
202
203
|
// If the result was not already processed, invoke the callback now.
|
@@ -206,9 +207,10 @@ static void cancel_call(void* arg, grpc_error* error) {
|
|
206
207
|
on_md_processing_done_inner(elem, nullptr, 0, nullptr, 0,
|
207
208
|
GRPC_ERROR_REF(error));
|
208
209
|
}
|
210
|
+
GRPC_CALL_STACK_UNREF(calld->owning_call, "cancel_call");
|
209
211
|
}
|
210
212
|
|
211
|
-
static void recv_initial_metadata_ready(void* arg,
|
213
|
+
static void recv_initial_metadata_ready(void* arg, grpc_error_handle error) {
|
212
214
|
grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
|
213
215
|
channel_data* chand = static_cast<channel_data*>(elem->channel_data);
|
214
216
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
@@ -218,6 +220,9 @@ static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
|
|
218
220
|
chand->creds->auth_metadata_processor().process != nullptr) {
|
219
221
|
// We're calling out to the application, so we need to make sure
|
220
222
|
// to drop the call combiner early if we get cancelled.
|
223
|
+
// TODO(yashykt): We would not need this ref if call combiners used
|
224
|
+
// Closure::Run() instead of ExecCtx::Run()
|
225
|
+
GRPC_CALL_STACK_REF(calld->owning_call, "cancel_call");
|
221
226
|
GRPC_CLOSURE_INIT(&calld->cancel_closure, cancel_call, elem,
|
222
227
|
grpc_schedule_on_exec_ctx);
|
223
228
|
calld->call_combiner->SetNotifyOnCancel(&calld->cancel_closure);
|
@@ -242,7 +247,8 @@ static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
|
|
242
247
|
grpc_core::Closure::Run(DEBUG_LOCATION, closure, GRPC_ERROR_REF(error));
|
243
248
|
}
|
244
249
|
|
245
|
-
static void recv_trailing_metadata_ready(void* user_data,
|
250
|
+
static void recv_trailing_metadata_ready(void* user_data,
|
251
|
+
grpc_error_handle err) {
|
246
252
|
grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
|
247
253
|
call_data* calld = static_cast<call_data*>(elem->call_data);
|
248
254
|
if (calld->original_recv_initial_metadata_ready != nullptr) {
|
@@ -280,7 +286,7 @@ static void server_auth_start_transport_stream_op_batch(
|
|
280
286
|
}
|
281
287
|
|
282
288
|
/* Constructor for call_data */
|
283
|
-
static
|
289
|
+
static grpc_error_handle server_auth_init_call_elem(
|
284
290
|
grpc_call_element* elem, const grpc_call_element_args* args) {
|
285
291
|
new (elem->call_data) call_data(elem, *args);
|
286
292
|
return GRPC_ERROR_NONE;
|
@@ -295,16 +301,16 @@ static void server_auth_destroy_call_elem(
|
|
295
301
|
}
|
296
302
|
|
297
303
|
/* Constructor for channel_data */
|
298
|
-
static
|
304
|
+
static grpc_error_handle server_auth_init_channel_elem(
|
299
305
|
grpc_channel_element* elem, grpc_channel_element_args* args) {
|
300
306
|
GPR_ASSERT(!args->is_last);
|
301
307
|
grpc_auth_context* auth_context =
|
302
308
|
grpc_find_auth_context_in_args(args->channel_args);
|
303
309
|
if (auth_context == nullptr) {
|
304
|
-
|
310
|
+
grpc_error_handle error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
305
311
|
"No authorization context found. This might be a TRANSIENT failure due "
|
306
312
|
"to certificates not having been loaded yet.");
|
307
|
-
gpr_log(GPR_DEBUG, "%s",
|
313
|
+
gpr_log(GPR_DEBUG, "%s", grpc_error_std_string(error).c_str());
|
308
314
|
return error;
|
309
315
|
}
|
310
316
|
GPR_ASSERT(auth_context != nullptr);
|
@@ -20,7 +20,8 @@
|
|
20
20
|
|
21
21
|
#include "src/core/lib/security/transport/tsi_error.h"
|
22
22
|
|
23
|
-
|
23
|
+
grpc_error_handle grpc_set_tsi_error_result(grpc_error_handle error,
|
24
|
+
tsi_result result) {
|
24
25
|
return grpc_error_set_int(
|
25
26
|
grpc_error_set_str(
|
26
27
|
error, GRPC_ERROR_STR_TSI_ERROR,
|
@@ -24,6 +24,7 @@
|
|
24
24
|
#include "src/core/lib/iomgr/error.h"
|
25
25
|
#include "src/core/tsi/transport_security_interface.h"
|
26
26
|
|
27
|
-
|
27
|
+
grpc_error_handle grpc_set_tsi_error_result(grpc_error_handle error,
|
28
|
+
tsi_result result);
|
28
29
|
|
29
30
|
#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
const char* grpc_json_get_string_property(const grpc_core::Json& json,
|
32
32
|
const char* prop_name,
|
33
|
-
|
33
|
+
grpc_error_handle* error) {
|
34
34
|
if (json.type() != grpc_core::Json::Type::OBJECT) {
|
35
35
|
if (error != nullptr) {
|
36
36
|
*error =
|
@@ -62,7 +62,7 @@ const char* grpc_json_get_string_property(const grpc_core::Json& json,
|
|
62
62
|
bool grpc_copy_json_string_property(const grpc_core::Json& json,
|
63
63
|
const char* prop_name,
|
64
64
|
char** copied_value) {
|
65
|
-
|
65
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
66
66
|
const char* prop_value =
|
67
67
|
grpc_json_get_string_property(json, prop_name, &error);
|
68
68
|
GRPC_LOG_IF_ERROR("Could not copy JSON property", error);
|
@@ -35,7 +35,7 @@
|
|
35
35
|
// Gets a child property from a json node.
|
36
36
|
const char* grpc_json_get_string_property(const grpc_core::Json& json,
|
37
37
|
const char* prop_name,
|
38
|
-
|
38
|
+
grpc_error_handle* error);
|
39
39
|
|
40
40
|
// Copies the value of the json child property specified by prop_name.
|
41
41
|
// Returns false if the property was not found.
|
@@ -290,14 +290,15 @@ static void execute_batch(grpc_call* call,
|
|
290
290
|
|
291
291
|
static void cancel_with_status(grpc_call* c, grpc_status_code status,
|
292
292
|
const char* description);
|
293
|
-
static void cancel_with_error(grpc_call* c,
|
294
|
-
static void destroy_call(void* call_stack,
|
295
|
-
static void receiving_slice_ready(void* bctlp,
|
296
|
-
static void set_final_status(grpc_call* call,
|
293
|
+
static void cancel_with_error(grpc_call* c, grpc_error_handle error);
|
294
|
+
static void destroy_call(void* call_stack, grpc_error_handle error);
|
295
|
+
static void receiving_slice_ready(void* bctlp, grpc_error_handle error);
|
296
|
+
static void set_final_status(grpc_call* call, grpc_error_handle error);
|
297
297
|
static void process_data_after_md(batch_control* bctl);
|
298
298
|
static void post_batch_completion(batch_control* bctl);
|
299
299
|
|
300
|
-
static void add_init_error(
|
300
|
+
static void add_init_error(grpc_error_handle* composite,
|
301
|
+
grpc_error_handle new_err) {
|
301
302
|
if (new_err == GRPC_ERROR_NONE) return;
|
302
303
|
if (*composite == GRPC_ERROR_NONE) {
|
303
304
|
*composite = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Call creation failed");
|
@@ -335,15 +336,15 @@ size_t grpc_call_get_initial_size_estimate() {
|
|
335
336
|
sizeof(grpc_linked_mdelem) * ESTIMATED_MDELEM_COUNT;
|
336
337
|
}
|
337
338
|
|
338
|
-
|
339
|
-
|
339
|
+
grpc_error_handle grpc_call_create(const grpc_call_create_args* args,
|
340
|
+
grpc_call** out_call) {
|
340
341
|
GPR_TIMER_SCOPE("grpc_call_create", 0);
|
341
342
|
|
342
343
|
GRPC_CHANNEL_INTERNAL_REF(args->channel, "call");
|
343
344
|
|
344
345
|
grpc_core::Arena* arena;
|
345
346
|
grpc_call* call;
|
346
|
-
|
347
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
347
348
|
grpc_channel_stack* channel_stack =
|
348
349
|
grpc_channel_get_channel_stack(args->channel);
|
349
350
|
size_t initial_size = grpc_channel_get_call_size_estimate(args->channel);
|
@@ -524,7 +525,7 @@ void grpc_call_internal_unref(grpc_call* c REF_ARG) {
|
|
524
525
|
GRPC_CALL_STACK_UNREF(CALL_STACK_FROM_CALL(c), REF_REASON);
|
525
526
|
}
|
526
527
|
|
527
|
-
static void release_call(void* call,
|
528
|
+
static void release_call(void* call, grpc_error_handle /*error*/) {
|
528
529
|
grpc_call* c = static_cast<grpc_call*>(call);
|
529
530
|
grpc_channel* channel = c->channel;
|
530
531
|
grpc_core::Arena* arena = c->arena;
|
@@ -533,7 +534,7 @@ static void release_call(void* call, grpc_error* /*error*/) {
|
|
533
534
|
GRPC_CHANNEL_INTERNAL_UNREF(channel, "call");
|
534
535
|
}
|
535
536
|
|
536
|
-
static void destroy_call(void* call,
|
537
|
+
static void destroy_call(void* call, grpc_error_handle /*error*/) {
|
537
538
|
GPR_TIMER_SCOPE("destroy_call", 0);
|
538
539
|
size_t i;
|
539
540
|
int ii;
|
@@ -559,8 +560,8 @@ static void destroy_call(void* call, grpc_error* /*error*/) {
|
|
559
560
|
GRPC_CQ_INTERNAL_UNREF(c->cq, "bind");
|
560
561
|
}
|
561
562
|
|
562
|
-
|
563
|
-
reinterpret_cast<
|
563
|
+
grpc_error_handle status_error =
|
564
|
+
reinterpret_cast<grpc_error_handle>(gpr_atm_acq_load(&c->status_error));
|
564
565
|
grpc_error_get_status(status_error, c->send_deadline,
|
565
566
|
&c->final_info.final_status, nullptr, nullptr,
|
566
567
|
&(c->final_info.error_string));
|
@@ -610,11 +611,8 @@ void grpc_call_unref(grpc_call* c) {
|
|
610
611
|
// Unset the call combiner cancellation closure. This has the
|
611
612
|
// effect of scheduling the previously set cancellation closure, if
|
612
613
|
// any, so that it can release any internal references it may be
|
613
|
-
// holding to the call stack.
|
614
|
-
// filters that schedule cancel notification closures on exec_ctx do not
|
615
|
-
// need to take a ref of the call stack to guarantee closure liveness.
|
614
|
+
// holding to the call stack.
|
616
615
|
c->call_combiner.SetNotifyOnCancel(nullptr);
|
617
|
-
grpc_core::ExecCtx::Get()->Flush();
|
618
616
|
}
|
619
617
|
GRPC_CALL_INTERNAL_UNREF(c, "destroy");
|
620
618
|
}
|
@@ -630,7 +628,8 @@ grpc_call_error grpc_call_cancel(grpc_call* call, void* reserved) {
|
|
630
628
|
|
631
629
|
// This is called via the call combiner to start sending a batch down
|
632
630
|
// the filter stack.
|
633
|
-
static void execute_batch_in_call_combiner(void* arg,
|
631
|
+
static void execute_batch_in_call_combiner(void* arg,
|
632
|
+
grpc_error_handle /*ignored*/) {
|
634
633
|
GPR_TIMER_SCOPE("execute_batch_in_call_combiner", 0);
|
635
634
|
grpc_transport_stream_op_batch* batch =
|
636
635
|
static_cast<grpc_transport_stream_op_batch*>(arg);
|
@@ -691,7 +690,7 @@ struct cancel_state {
|
|
691
690
|
};
|
692
691
|
// The on_complete callback used when sending a cancel_stream batch down
|
693
692
|
// the filter stack. Yields the call combiner when the batch is done.
|
694
|
-
static void done_termination(void* arg,
|
693
|
+
static void done_termination(void* arg, grpc_error_handle /*error*/) {
|
695
694
|
cancel_state* state = static_cast<cancel_state*>(arg);
|
696
695
|
GRPC_CALL_COMBINER_STOP(&state->call->call_combiner,
|
697
696
|
"on_complete for cancel_stream op");
|
@@ -699,7 +698,7 @@ static void done_termination(void* arg, grpc_error* /*error*/) {
|
|
699
698
|
gpr_free(state);
|
700
699
|
}
|
701
700
|
|
702
|
-
static void cancel_with_error(grpc_call* c,
|
701
|
+
static void cancel_with_error(grpc_call* c, grpc_error_handle error) {
|
703
702
|
if (!gpr_atm_rel_cas(&c->cancelled_with_error, 0, 1)) {
|
704
703
|
GRPC_ERROR_UNREF(error);
|
705
704
|
return;
|
@@ -725,8 +724,8 @@ void grpc_call_cancel_internal(grpc_call* call) {
|
|
725
724
|
cancel_with_error(call, GRPC_ERROR_CANCELLED);
|
726
725
|
}
|
727
726
|
|
728
|
-
static
|
729
|
-
|
727
|
+
static grpc_error_handle error_from_status(grpc_status_code status,
|
728
|
+
const char* description) {
|
730
729
|
// copying 'description' is needed to ensure the grpc_call_cancel_with_status
|
731
730
|
// guarantee that can be short-lived.
|
732
731
|
return grpc_error_set_int(
|
@@ -741,10 +740,10 @@ static void cancel_with_status(grpc_call* c, grpc_status_code status,
|
|
741
740
|
cancel_with_error(c, error_from_status(status, description));
|
742
741
|
}
|
743
742
|
|
744
|
-
static void set_final_status(grpc_call* call,
|
743
|
+
static void set_final_status(grpc_call* call, grpc_error_handle error) {
|
745
744
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_error_trace)) {
|
746
745
|
gpr_log(GPR_DEBUG, "set_final_status %s", call->is_client ? "CLI" : "SVR");
|
747
|
-
gpr_log(GPR_DEBUG, "%s",
|
746
|
+
gpr_log(GPR_DEBUG, "%s", grpc_error_std_string(error).c_str());
|
748
747
|
}
|
749
748
|
if (call->is_client) {
|
750
749
|
grpc_error_get_status(error, call->send_deadline,
|
@@ -770,7 +769,7 @@ static void set_final_status(grpc_call* call, grpc_error* error) {
|
|
770
769
|
call->final_op.server.core_server->channelz_node();
|
771
770
|
if (channelz_node != nullptr) {
|
772
771
|
if (*call->final_op.server.cancelled ||
|
773
|
-
reinterpret_cast<
|
772
|
+
reinterpret_cast<grpc_error_handle>(
|
774
773
|
gpr_atm_acq_load(&call->status_error)) != GRPC_ERROR_NONE) {
|
775
774
|
channelz_node->RecordCallFailed();
|
776
775
|
} else {
|
@@ -952,7 +951,7 @@ static int prepare_application_metadata(grpc_call* call, int count,
|
|
952
951
|
for (i = 0; i < total_count; i++) {
|
953
952
|
grpc_metadata* md = get_md_elem(metadata, additional_metadata, i, count);
|
954
953
|
grpc_linked_mdelem* l = linked_from_md(md);
|
955
|
-
|
954
|
+
grpc_error_handle error = grpc_metadata_batch_link_tail(batch, l);
|
956
955
|
if (error != GRPC_ERROR_NONE) {
|
957
956
|
GRPC_MDELEM_UNREF(l->md);
|
958
957
|
}
|
@@ -1053,14 +1052,14 @@ static void recv_initial_filter(grpc_call* call, grpc_metadata_batch* b) {
|
|
1053
1052
|
}
|
1054
1053
|
|
1055
1054
|
static void recv_trailing_filter(void* args, grpc_metadata_batch* b,
|
1056
|
-
|
1055
|
+
grpc_error_handle batch_error) {
|
1057
1056
|
grpc_call* call = static_cast<grpc_call*>(args);
|
1058
1057
|
if (batch_error != GRPC_ERROR_NONE) {
|
1059
1058
|
set_final_status(call, batch_error);
|
1060
1059
|
} else if (b->idx.named.grpc_status != nullptr) {
|
1061
1060
|
grpc_status_code status_code =
|
1062
1061
|
grpc_get_status_code_from_metadata(b->idx.named.grpc_status->md);
|
1063
|
-
|
1062
|
+
grpc_error_handle error = GRPC_ERROR_NONE;
|
1064
1063
|
if (status_code != GRPC_STATUS_OK) {
|
1065
1064
|
char* peer = grpc_call_get_peer(call);
|
1066
1065
|
error = grpc_error_set_int(
|
@@ -1171,8 +1170,8 @@ static void finish_batch_completion(void* user_data,
|
|
1171
1170
|
}
|
1172
1171
|
|
1173
1172
|
static void reset_batch_errors(batch_control* bctl) {
|
1174
|
-
GRPC_ERROR_UNREF(
|
1175
|
-
|
1173
|
+
GRPC_ERROR_UNREF(reinterpret_cast<grpc_error_handle>(
|
1174
|
+
gpr_atm_acq_load(&bctl->batch_error)));
|
1176
1175
|
gpr_atm_rel_store(&bctl->batch_error,
|
1177
1176
|
reinterpret_cast<gpr_atm>(GRPC_ERROR_NONE));
|
1178
1177
|
}
|
@@ -1180,8 +1179,8 @@ static void reset_batch_errors(batch_control* bctl) {
|
|
1180
1179
|
static void post_batch_completion(batch_control* bctl) {
|
1181
1180
|
grpc_call* next_child_call;
|
1182
1181
|
grpc_call* call = bctl->call;
|
1183
|
-
|
1184
|
-
|
1182
|
+
grpc_error_handle error = GRPC_ERROR_REF(reinterpret_cast<grpc_error_handle>(
|
1183
|
+
gpr_atm_acq_load(&bctl->batch_error)));
|
1185
1184
|
|
1186
1185
|
if (bctl->op.send_initial_metadata) {
|
1187
1186
|
grpc_metadata_batch_destroy(
|
@@ -1254,7 +1253,7 @@ static void finish_batch_step(batch_control* bctl) {
|
|
1254
1253
|
}
|
1255
1254
|
|
1256
1255
|
static void continue_receiving_slices(batch_control* bctl) {
|
1257
|
-
|
1256
|
+
grpc_error_handle error;
|
1258
1257
|
grpc_call* call = bctl->call;
|
1259
1258
|
for (;;) {
|
1260
1259
|
size_t remaining = call->receiving_stream->length() -
|
@@ -1285,7 +1284,7 @@ static void continue_receiving_slices(batch_control* bctl) {
|
|
1285
1284
|
}
|
1286
1285
|
}
|
1287
1286
|
|
1288
|
-
static void receiving_slice_ready(void* bctlp,
|
1287
|
+
static void receiving_slice_ready(void* bctlp, grpc_error_handle error) {
|
1289
1288
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1290
1289
|
grpc_call* call = bctl->call;
|
1291
1290
|
bool release_error = false;
|
@@ -1345,13 +1344,13 @@ static void process_data_after_md(batch_control* bctl) {
|
|
1345
1344
|
}
|
1346
1345
|
}
|
1347
1346
|
|
1348
|
-
static void receiving_stream_ready(void* bctlp,
|
1347
|
+
static void receiving_stream_ready(void* bctlp, grpc_error_handle error) {
|
1349
1348
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1350
1349
|
grpc_call* call = bctl->call;
|
1351
1350
|
if (error != GRPC_ERROR_NONE) {
|
1352
1351
|
call->receiving_stream.reset();
|
1353
|
-
if (reinterpret_cast<
|
1354
|
-
|
1352
|
+
if (reinterpret_cast<grpc_error_handle>(
|
1353
|
+
gpr_atm_acq_load(&bctl->batch_error)) == GRPC_ERROR_NONE) {
|
1355
1354
|
gpr_atm_rel_store(&bctl->batch_error,
|
1356
1355
|
reinterpret_cast<gpr_atm>(GRPC_ERROR_REF(error)));
|
1357
1356
|
}
|
@@ -1371,7 +1370,7 @@ static void receiving_stream_ready(void* bctlp, grpc_error* error) {
|
|
1371
1370
|
// a recv_message op down the filter stack. Yields the call combiner
|
1372
1371
|
// before processing the received message.
|
1373
1372
|
static void receiving_stream_ready_in_call_combiner(void* bctlp,
|
1374
|
-
|
1373
|
+
grpc_error_handle error) {
|
1375
1374
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1376
1375
|
grpc_call* call = bctl->call;
|
1377
1376
|
GRPC_CALL_COMBINER_STOP(&call->call_combiner, "recv_message_ready");
|
@@ -1464,7 +1463,8 @@ static void validate_filtered_metadata(batch_control* bctl) {
|
|
1464
1463
|
}
|
1465
1464
|
}
|
1466
1465
|
|
1467
|
-
static void receiving_initial_metadata_ready(void* bctlp,
|
1466
|
+
static void receiving_initial_metadata_ready(void* bctlp,
|
1467
|
+
grpc_error_handle error) {
|
1468
1468
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1469
1469
|
grpc_call* call = bctl->call;
|
1470
1470
|
|
@@ -1483,8 +1483,8 @@ static void receiving_initial_metadata_ready(void* bctlp, grpc_error* error) {
|
|
1483
1483
|
call->send_deadline = md->deadline;
|
1484
1484
|
}
|
1485
1485
|
} else {
|
1486
|
-
if (reinterpret_cast<
|
1487
|
-
|
1486
|
+
if (reinterpret_cast<grpc_error_handle>(
|
1487
|
+
gpr_atm_acq_load(&bctl->batch_error)) == GRPC_ERROR_NONE) {
|
1488
1488
|
gpr_atm_rel_store(&bctl->batch_error,
|
1489
1489
|
reinterpret_cast<gpr_atm>(GRPC_ERROR_REF(error)));
|
1490
1490
|
}
|
@@ -1523,7 +1523,8 @@ static void receiving_initial_metadata_ready(void* bctlp, grpc_error* error) {
|
|
1523
1523
|
finish_batch_step(bctl);
|
1524
1524
|
}
|
1525
1525
|
|
1526
|
-
static void receiving_trailing_metadata_ready(void* bctlp,
|
1526
|
+
static void receiving_trailing_metadata_ready(void* bctlp,
|
1527
|
+
grpc_error_handle error) {
|
1527
1528
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1528
1529
|
grpc_call* call = bctl->call;
|
1529
1530
|
GRPC_CALL_COMBINER_STOP(&call->call_combiner, "recv_trailing_metadata_ready");
|
@@ -1533,12 +1534,12 @@ static void receiving_trailing_metadata_ready(void* bctlp, grpc_error* error) {
|
|
1533
1534
|
finish_batch_step(bctl);
|
1534
1535
|
}
|
1535
1536
|
|
1536
|
-
static void finish_batch(void* bctlp,
|
1537
|
+
static void finish_batch(void* bctlp, grpc_error_handle error) {
|
1537
1538
|
batch_control* bctl = static_cast<batch_control*>(bctlp);
|
1538
1539
|
grpc_call* call = bctl->call;
|
1539
1540
|
GRPC_CALL_COMBINER_STOP(&call->call_combiner, "on_complete");
|
1540
|
-
if (reinterpret_cast<
|
1541
|
-
|
1541
|
+
if (reinterpret_cast<grpc_error_handle>(
|
1542
|
+
gpr_atm_acq_load(&bctl->batch_error)) == GRPC_ERROR_NONE) {
|
1542
1543
|
gpr_atm_rel_store(&bctl->batch_error,
|
1543
1544
|
reinterpret_cast<gpr_atm>(GRPC_ERROR_REF(error)));
|
1544
1545
|
}
|
@@ -1755,7 +1756,7 @@ static grpc_call_error call_start_batch(grpc_call* call, const grpc_op* ops,
|
|
1755
1756
|
call->send_extra_metadata_count = 1;
|
1756
1757
|
call->send_extra_metadata[0].md = grpc_get_reffed_status_elem(
|
1757
1758
|
op->data.send_status_from_server.status);
|
1758
|
-
|
1759
|
+
grpc_error_handle status_error =
|
1759
1760
|
op->data.send_status_from_server.status == GRPC_STATUS_OK
|
1760
1761
|
? GRPC_ERROR_NONE
|
1761
1762
|
: grpc_error_set_int(
|
data/src/core/lib/surface/call.h
CHANGED
@@ -55,8 +55,8 @@ typedef struct grpc_call_create_args {
|
|
55
55
|
/* Create a new call based on \a args.
|
56
56
|
Regardless of success or failure, always returns a valid new call into *call
|
57
57
|
*/
|
58
|
-
|
59
|
-
|
58
|
+
grpc_error_handle grpc_call_create(const grpc_call_create_args* args,
|
59
|
+
grpc_call** call);
|
60
60
|
|
61
61
|
void grpc_call_set_completion_queue(grpc_call* call, grpc_completion_queue* cq);
|
62
62
|
|