grpc 1.7.3 → 1.8.0
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 +2106 -2116
- data/include/grpc/census.h +1 -432
- data/include/grpc/compression.h +9 -9
- data/include/grpc/grpc.h +115 -98
- data/include/grpc/grpc_cronet.h +3 -3
- data/include/grpc/grpc_posix.h +4 -4
- data/include/grpc/grpc_security.h +160 -88
- data/include/grpc/grpc_security_constants.h +7 -0
- data/include/grpc/impl/codegen/atm.h +9 -1
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +13 -4
- data/include/grpc/impl/codegen/atm_gcc_sync.h +6 -5
- data/include/grpc/impl/codegen/atm_windows.h +23 -22
- data/include/grpc/impl/codegen/byte_buffer.h +14 -14
- data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -2
- data/include/grpc/impl/codegen/connectivity_state.h +0 -2
- data/include/grpc/impl/codegen/grpc_types.h +32 -28
- data/include/grpc/impl/codegen/port_platform.h +48 -0
- data/include/grpc/impl/codegen/slice.h +10 -10
- data/include/grpc/impl/codegen/sync_generic.h +9 -3
- data/include/grpc/slice.h +16 -17
- data/include/grpc/slice_buffer.h +22 -22
- data/include/grpc/support/alloc.h +11 -11
- data/include/grpc/support/avl.h +28 -20
- data/include/grpc/support/cmdline.h +13 -13
- data/include/grpc/support/histogram.h +17 -17
- data/include/grpc/support/host_port.h +2 -2
- data/include/grpc/support/log.h +9 -9
- data/include/grpc/support/log_windows.h +1 -1
- data/include/grpc/support/string_util.h +2 -2
- data/include/grpc/support/subprocess.h +5 -5
- data/include/grpc/support/sync.h +43 -27
- data/include/grpc/support/thd.h +6 -6
- data/include/grpc/support/tls_gcc.h +1 -1
- data/include/grpc/support/tls_pthread.h +1 -1
- data/src/core/ext/census/{grpc_context.c → grpc_context.cc} +5 -8
- data/src/core/ext/filters/client_channel/backup_poller.cc +165 -0
- data/src/core/ext/{census/grpc_filter.h → filters/client_channel/backup_poller.h} +12 -7
- data/src/core/ext/filters/client_channel/{channel_connectivity.c → channel_connectivity.cc} +45 -42
- data/src/core/ext/filters/client_channel/{client_channel.c → client_channel.cc} +452 -417
- data/src/core/ext/filters/client_channel/client_channel.h +16 -8
- data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc} +0 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.h +29 -21
- data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc} +15 -19
- data/src/core/ext/filters/client_channel/{connector.c → connector.cc} +0 -0
- data/src/core/ext/filters/client_channel/connector.h +29 -21
- data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc} +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +8 -0
- data/src/core/ext/filters/client_channel/{http_proxy.c → http_proxy.cc} +14 -14
- data/src/core/ext/filters/client_channel/http_proxy.h +8 -0
- data/src/core/ext/filters/client_channel/{lb_policy.c → lb_policy.cc} +47 -48
- data/src/core/ext/filters/client_channel/lb_policy.h +76 -70
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c → client_load_reporting_filter.cc} +28 -29
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c → grpclb.cc} +554 -563
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +17 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c → grpclb_channel_secure.cc} +17 -17
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c → grpclb_client_stats.cc} +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +9 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c → load_balancer_api.cc} +64 -67
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +20 -21
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +599 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +695 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +270 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +153 -0
- data/src/core/ext/filters/client_channel/{lb_policy_factory.c → lb_policy_factory.cc} +10 -10
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -40
- data/src/core/ext/filters/client_channel/{lb_policy_registry.c → lb_policy_registry.cc} +9 -9
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +11 -3
- data/src/core/ext/filters/client_channel/{parse_address.c → parse_address.cc} +24 -24
- data/src/core/ext/filters/client_channel/parse_address.h +14 -6
- data/src/core/ext/filters/client_channel/{proxy_mapper.c → proxy_mapper.cc} +0 -0
- data/src/core/ext/filters/client_channel/proxy_mapper.h +8 -0
- data/src/core/ext/filters/client_channel/{proxy_mapper_registry.c → proxy_mapper_registry.cc} +0 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -0
- data/src/core/ext/filters/client_channel/{resolver.c → resolver.cc} +21 -23
- data/src/core/ext/filters/client_channel/resolver.h +33 -27
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c → dns_resolver_ares.cc} +133 -133
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +18 -9
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c → grpc_ares_ev_driver_posix.cc} +58 -56
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c → grpc_ares_wrapper.cc} +118 -115
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +60 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c → dns_resolver.cc} +100 -94
- data/src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c → fake_resolver.cc} +14 -14
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +9 -1
- data/src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c → sockaddr_resolver.cc} +60 -60
- data/src/core/ext/filters/client_channel/{resolver_factory.c → resolver_factory.cc} +2 -2
- data/src/core/ext/filters/client_channel/resolver_factory.h +27 -19
- data/src/core/ext/filters/client_channel/{resolver_registry.c → resolver_registry.cc} +35 -35
- data/src/core/ext/filters/client_channel/resolver_registry.h +18 -10
- data/src/core/ext/filters/client_channel/{retry_throttle.c → retry_throttle.cc} +10 -10
- data/src/core/ext/filters/client_channel/retry_throttle.h +8 -0
- data/src/core/ext/filters/client_channel/{subchannel.c → subchannel.cc} +210 -213
- data/src/core/ext/filters/client_channel/subchannel.h +68 -60
- data/src/core/ext/filters/client_channel/{subchannel_index.c → subchannel_index.cc} +52 -52
- data/src/core/ext/filters/client_channel/subchannel_index.h +22 -14
- data/src/core/ext/filters/client_channel/{uri_parser.c → uri_parser.cc} +29 -27
- data/src/core/ext/filters/client_channel/uri_parser.h +18 -10
- data/src/core/ext/filters/deadline/{deadline_filter.c → deadline_filter.cc} +12 -15
- data/src/core/ext/filters/deadline/deadline_filter.h +11 -2
- data/src/core/ext/filters/http/client/{http_client_filter.c → http_client_filter.cc} +83 -83
- data/src/core/ext/filters/http/client/http_client_filter.h +8 -0
- data/src/core/ext/filters/http/{http_filters_plugin.c → http_filters_plugin.cc} +20 -21
- data/src/core/ext/filters/http/message_compress/{message_compress_filter.c → message_compress_filter.cc} +84 -83
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +9 -1
- data/src/core/ext/filters/http/server/{http_server_filter.c → http_server_filter.cc} +80 -78
- data/src/core/ext/filters/http/server/http_server_filter.h +8 -0
- data/src/core/ext/filters/load_reporting/{server_load_reporting_filter.c → server_load_reporting_filter.cc} +29 -29
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +9 -1
- data/src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c → server_load_reporting_plugin.cc} +11 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +13 -5
- data/src/core/ext/filters/max_age/{max_age_filter.c → max_age_filter.cc} +46 -56
- data/src/core/ext/filters/max_age/max_age_filter.h +8 -0
- data/src/core/ext/filters/message_size/{message_size_filter.c → message_size_filter.cc} +62 -40
- data/src/core/ext/filters/message_size/message_size_filter.h +8 -0
- data/src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c → workaround_cronet_compression_filter.cc} +11 -11
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +8 -0
- data/src/core/ext/filters/workarounds/{workaround_utils.c → workaround_utils.cc} +7 -7
- data/src/core/ext/filters/workarounds/workaround_utils.h +9 -1
- data/src/core/ext/transport/chttp2/alpn/{alpn.c → alpn.cc} +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -2
- data/src/core/ext/transport/chttp2/client/{chttp2_connector.c → chttp2_connector.cc} +49 -45
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +8 -0
- data/src/core/ext/transport/chttp2/client/insecure/{channel_create.c → channel_create.cc} +28 -27
- data/src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c → channel_create_posix.cc} +14 -13
- data/src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c → secure_channel_create.cc} +68 -66
- data/src/core/ext/transport/chttp2/server/{chttp2_server.c → chttp2_server.cc} +76 -77
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -3
- data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c → server_chttp2.cc} +3 -3
- data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c → server_chttp2_posix.cc} +13 -12
- data/src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c → server_secure_chttp2.cc} +12 -10
- data/src/core/ext/transport/chttp2/transport/{bin_decoder.c → bin_decoder.cc} +7 -7
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +15 -7
- data/src/core/ext/transport/chttp2/transport/{bin_encoder.c → bin_encoder.cc} +11 -11
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{chttp2_plugin.c → chttp2_plugin.cc} +2 -9
- data/src/core/ext/transport/chttp2/transport/{chttp2_transport.c → chttp2_transport.cc} +778 -778
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -10
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +385 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +337 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{frame_data.c → frame_data.cc} +34 -34
- data/src/core/ext/transport/chttp2/transport/frame_data.h +25 -17
- data/src/core/ext/transport/chttp2/transport/{frame_goaway.c → frame_goaway.cc} +18 -18
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -10
- data/src/core/ext/transport/chttp2/transport/{frame_ping.c → frame_ping.cc} +18 -19
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +12 -4
- data/src/core/ext/transport/chttp2/transport/{frame_rst_stream.c → frame_rst_stream.cc} +16 -16
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +16 -8
- data/src/core/ext/transport/chttp2/transport/{frame_settings.c → frame_settings.cc} +23 -24
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +17 -9
- data/src/core/ext/transport/chttp2/transport/{frame_window_update.c → frame_window_update.cc} +22 -24
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +14 -6
- data/src/core/ext/transport/chttp2/transport/{hpack_encoder.c → hpack_encoder.cc} +206 -161
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +23 -13
- data/src/core/ext/transport/chttp2/transport/{hpack_parser.c → hpack_parser.cc} +340 -334
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -22
- data/src/core/ext/transport/chttp2/transport/{hpack_table.c → hpack_table.cc} +25 -25
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +19 -11
- data/src/core/ext/transport/chttp2/transport/{http2_settings.c → http2_settings.cc} +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -2
- data/src/core/ext/transport/chttp2/transport/{huffsyms.c → huffsyms.cc} +0 -0
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +8 -0
- data/src/core/ext/transport/chttp2/transport/{incoming_metadata.c → incoming_metadata.cc} +14 -13
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +18 -10
- data/src/core/ext/transport/chttp2/transport/internal.h +214 -340
- data/src/core/ext/transport/chttp2/transport/{parsing.c → parsing.cc} +152 -141
- data/src/core/ext/transport/chttp2/transport/{stream_lists.c → stream_lists.cc} +53 -53
- data/src/core/ext/transport/chttp2/transport/{stream_map.c → stream_map.cc} +35 -34
- data/src/core/ext/transport/chttp2/transport/stream_map.h +22 -14
- data/src/core/ext/transport/chttp2/transport/{varint.c → varint.cc} +0 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +8 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +636 -0
- data/src/core/ext/transport/inproc/{inproc_plugin.c → inproc_plugin.cc} +5 -6
- data/src/core/ext/transport/inproc/{inproc_transport.c → inproc_transport.cc} +479 -544
- data/src/core/ext/transport/inproc/inproc_transport.h +4 -4
- data/src/core/lib/backoff/backoff.cc +80 -0
- data/src/core/lib/backoff/backoff.h +83 -0
- data/src/core/lib/channel/{channel_args.c → channel_args.cc} +92 -92
- data/src/core/lib/channel/channel_args.h +45 -37
- data/src/core/lib/channel/{channel_stack.c → channel_stack.cc} +67 -68
- data/src/core/lib/channel/channel_stack.h +76 -75
- data/src/core/lib/channel/{channel_stack_builder.c → channel_stack_builder.cc} +91 -91
- data/src/core/lib/channel/channel_stack_builder.h +45 -45
- data/src/core/lib/channel/{connected_channel.c → connected_channel.cc} +70 -70
- data/src/core/lib/channel/connected_channel.h +12 -4
- data/src/core/lib/channel/context.h +2 -2
- data/src/core/lib/channel/{handshaker.c → handshaker.cc} +7 -9
- data/src/core/lib/channel/handshaker.h +9 -1
- data/src/core/lib/channel/{handshaker_factory.c → handshaker_factory.cc} +7 -7
- data/src/core/lib/channel/handshaker_factory.h +18 -10
- data/src/core/lib/channel/{handshaker_registry.c → handshaker_registry.cc} +0 -0
- data/src/core/lib/channel/handshaker_registry.h +8 -0
- data/src/core/lib/compression/algorithm_metadata.h +8 -0
- data/src/core/lib/compression/{compression.c → compression.cc} +9 -9
- data/src/core/lib/compression/{message_compress.c → message_compress.cc} +0 -0
- data/src/core/lib/compression/message_compress.h +8 -0
- data/src/core/lib/compression/{stream_compression.c → stream_compression.cc} +12 -12
- data/src/core/lib/compression/stream_compression.h +27 -19
- data/src/core/lib/compression/{stream_compression_gzip.c → stream_compression_gzip.cc} +35 -36
- data/src/core/lib/compression/stream_compression_gzip.h +8 -0
- data/src/core/lib/compression/{stream_compression_identity.c → stream_compression_identity.cc} +19 -20
- data/src/core/lib/compression/stream_compression_identity.h +8 -0
- data/src/core/lib/debug/{stats.c → stats.cc} +19 -19
- data/src/core/lib/debug/stats.h +17 -9
- data/src/core/lib/debug/{stats_data.c → stats_data.cc} +45 -22
- data/src/core/lib/debug/stats_data.h +58 -19
- data/src/core/lib/debug/trace.cc +142 -0
- data/src/core/lib/debug/trace.h +74 -14
- data/src/core/lib/http/{format_request.c → format_request.cc} +10 -10
- data/src/core/lib/http/format_request.h +12 -4
- data/src/core/lib/http/{httpcli.c → httpcli.cc} +80 -80
- data/src/core/lib/http/httpcli.h +41 -33
- data/src/core/lib/http/{httpcli_security_connector.c → httpcli_security_connector.cc} +69 -55
- data/src/core/lib/http/{parser.c → parser.cc} +42 -42
- data/src/core/lib/http/parser.h +28 -20
- data/src/core/lib/{support → iomgr}/block_annotate.h +17 -8
- data/src/core/lib/iomgr/{call_combiner.c → call_combiner.cc} +29 -17
- data/src/core/lib/iomgr/call_combiner.h +9 -1
- data/src/core/lib/iomgr/closure.h +220 -62
- data/src/core/lib/iomgr/{combiner.c → combiner.cc} +63 -62
- data/src/core/lib/iomgr/combiner.h +16 -8
- data/src/core/lib/iomgr/{endpoint.c → endpoint.cc} +6 -0
- data/src/core/lib/iomgr/endpoint.h +47 -32
- data/src/core/lib/iomgr/endpoint_pair.h +12 -4
- data/src/core/lib/iomgr/{endpoint_pair_posix.c → endpoint_pair_posix.cc} +3 -3
- data/src/core/lib/iomgr/{endpoint_pair_uv.c → endpoint_pair_uv.cc} +2 -2
- data/src/core/lib/iomgr/{endpoint_pair_windows.c → endpoint_pair_windows.cc} +6 -6
- data/src/core/lib/iomgr/{error.c → error.cc} +125 -124
- data/src/core/lib/iomgr/error.h +32 -27
- data/src/core/lib/iomgr/error_internal.h +11 -2
- data/src/core/lib/iomgr/{ev_epoll1_linux.c → ev_epoll1_linux.cc} +214 -215
- data/src/core/lib/iomgr/ev_epoll1_linux.h +9 -1
- data/src/core/lib/iomgr/ev_epollex_linux.cc +1488 -0
- data/src/core/lib/iomgr/ev_epollex_linux.h +9 -1
- data/src/core/lib/iomgr/{ev_epollsig_linux.c → ev_epollsig_linux.cc} +304 -305
- data/src/core/lib/iomgr/ev_epollsig_linux.h +12 -4
- data/src/core/lib/iomgr/{ev_poll_posix.c → ev_poll_posix.cc} +272 -283
- data/src/core/lib/iomgr/ev_poll_posix.h +10 -2
- data/src/core/lib/iomgr/ev_posix.cc +288 -0
- data/src/core/lib/iomgr/ev_posix.h +75 -67
- data/src/core/lib/iomgr/{ev_windows.c → ev_windows.cc} +2 -2
- data/src/core/lib/iomgr/exec_ctx.cc +177 -0
- data/src/core/lib/iomgr/exec_ctx.h +35 -13
- data/src/core/lib/iomgr/{executor.c → executor.cc} +34 -35
- data/src/core/lib/iomgr/executor.h +12 -4
- data/src/core/lib/iomgr/{fork_posix.c → fork_posix.cc} +0 -0
- data/src/core/lib/iomgr/{fork_windows.c → fork_windows.cc} +0 -0
- data/src/core/lib/iomgr/gethostname.h +9 -1
- data/src/core/lib/iomgr/{gethostname_fallback.c → gethostname_fallback.cc} +2 -1
- data/src/core/lib/iomgr/{gethostname_host_name_max.c → gethostname_host_name_max.cc} +4 -3
- data/src/core/lib/iomgr/{gethostname_sysconf.c → gethostname_sysconf.cc} +3 -2
- data/src/core/lib/iomgr/{iocp_windows.c → iocp_windows.cc} +23 -25
- data/src/core/lib/iomgr/iocp_windows.h +17 -3
- data/src/core/lib/iomgr/{iomgr.c → iomgr.cc} +25 -19
- data/src/core/lib/iomgr/iomgr.h +11 -3
- data/src/core/lib/iomgr/iomgr_internal.h +13 -5
- data/src/core/lib/iomgr/{iomgr_posix.c → iomgr_posix.cc} +0 -1
- data/src/core/lib/iomgr/{iomgr_uv.c → iomgr_uv.cc} +1 -1
- data/src/core/lib/iomgr/iomgr_uv.h +8 -0
- data/src/core/lib/iomgr/{iomgr_windows.c → iomgr_windows.cc} +0 -0
- data/src/core/lib/iomgr/{is_epollexclusive_available.c → is_epollexclusive_available.cc} +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.h +8 -0
- data/src/core/lib/iomgr/{load_file.c → load_file.cc} +12 -12
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/{lockfree_event.c → lockfree_event.cc} +76 -68
- data/src/core/lib/iomgr/lockfree_event.h +30 -11
- data/src/core/lib/iomgr/{network_status_tracker.c → network_status_tracker.cc} +3 -2
- data/src/core/lib/iomgr/network_status_tracker.h +2 -2
- data/src/core/lib/iomgr/{polling_entity.c → polling_entity.cc} +18 -18
- data/src/core/lib/iomgr/polling_entity.h +21 -13
- data/src/core/lib/iomgr/pollset.h +17 -11
- data/src/core/lib/iomgr/pollset_set.h +23 -15
- data/src/core/lib/iomgr/{pollset_set_uv.c → pollset_set_uv.cc} +0 -0
- data/src/core/lib/iomgr/{pollset_set_windows.c → pollset_set_windows.cc} +0 -0
- data/src/core/lib/iomgr/{pollset_uv.c → pollset_uv.cc} +31 -29
- data/src/core/lib/iomgr/pollset_uv.h +8 -0
- data/src/core/lib/iomgr/{pollset_windows.c → pollset_windows.cc} +24 -24
- data/src/core/lib/iomgr/pollset_windows.h +17 -4
- data/src/core/lib/iomgr/port.h +10 -0
- data/src/core/lib/iomgr/resolve_address.h +18 -10
- data/src/core/lib/iomgr/{resolve_address_posix.c → resolve_address_posix.cc} +40 -40
- data/src/core/lib/iomgr/{resolve_address_uv.c → resolve_address_uv.cc} +61 -56
- data/src/core/lib/iomgr/{resolve_address_windows.c → resolve_address_windows.cc} +36 -34
- data/src/core/lib/iomgr/{resource_quota.c → resource_quota.cc} +209 -180
- data/src/core/lib/iomgr/resource_quota.h +45 -37
- data/src/core/lib/iomgr/{sockaddr_utils.c → sockaddr_utils.cc} +61 -61
- data/src/core/lib/iomgr/sockaddr_utils.h +23 -15
- data/src/core/lib/iomgr/sockaddr_windows.h +6 -0
- data/src/core/lib/iomgr/{socket_factory_posix.c → socket_factory_posix.cc} +20 -20
- data/src/core/lib/iomgr/socket_factory_posix.h +15 -15
- data/src/core/lib/iomgr/{socket_mutator.c → socket_mutator.cc} +18 -18
- data/src/core/lib/iomgr/socket_mutator.h +11 -11
- data/src/core/lib/iomgr/socket_utils.h +9 -1
- data/src/core/lib/iomgr/{socket_utils_common_posix.c → socket_utils_common_posix.cc} +28 -28
- data/src/core/lib/iomgr/{socket_utils_linux.c → socket_utils_linux.cc} +3 -3
- data/src/core/lib/iomgr/{socket_utils_posix.c → socket_utils_posix.cc} +3 -3
- data/src/core/lib/iomgr/socket_utils_posix.h +26 -18
- data/src/core/lib/iomgr/{socket_utils_uv.c → socket_utils_uv.cc} +1 -1
- data/src/core/lib/iomgr/{socket_utils_windows.c → socket_utils_windows.cc} +2 -2
- data/src/core/lib/iomgr/{socket_windows.c → socket_windows.cc} +18 -18
- data/src/core/lib/iomgr/socket_windows.h +26 -13
- data/src/core/lib/iomgr/tcp_client.h +14 -6
- data/src/core/lib/iomgr/{tcp_client_posix.c → tcp_client_posix.cc} +69 -70
- data/src/core/lib/iomgr/tcp_client_posix.h +11 -3
- data/src/core/lib/iomgr/{tcp_client_uv.c → tcp_client_uv.cc} +47 -48
- data/src/core/lib/iomgr/{tcp_client_windows.c → tcp_client_windows.cc} +46 -44
- data/src/core/lib/iomgr/{tcp_posix.c → tcp_posix.cc} +198 -175
- data/src/core/lib/iomgr/tcp_posix.h +15 -7
- data/src/core/lib/iomgr/tcp_server.h +31 -23
- data/src/core/lib/iomgr/{tcp_server_posix.c → tcp_server_posix.cc} +78 -77
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +27 -19
- data/src/core/lib/iomgr/{tcp_server_utils_posix_common.c → tcp_server_utils_posix_common.cc} +27 -27
- data/src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c → tcp_server_utils_posix_ifaddrs.cc} +25 -25
- data/src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c → tcp_server_utils_posix_noifaddrs.cc} +2 -2
- data/src/core/lib/iomgr/{tcp_server_uv.c → tcp_server_uv.cc} +133 -105
- data/src/core/lib/iomgr/{tcp_server_windows.c → tcp_server_windows.cc} +81 -77
- data/src/core/lib/iomgr/tcp_uv.cc +420 -0
- data/src/core/lib/iomgr/tcp_uv.h +18 -4
- data/src/core/lib/iomgr/{tcp_windows.c → tcp_windows.cc} +90 -79
- data/src/core/lib/iomgr/tcp_windows.h +17 -4
- data/src/core/lib/iomgr/{time_averaged_stats.c → time_averaged_stats.cc} +0 -0
- data/src/core/lib/iomgr/time_averaged_stats.h +8 -0
- data/src/core/lib/iomgr/timer.h +16 -9
- data/src/core/lib/iomgr/{timer_generic.c → timer_generic.cc} +130 -171
- data/src/core/lib/iomgr/timer_generic.h +4 -4
- data/src/core/lib/iomgr/{timer_heap.c → timer_heap.cc} +20 -21
- data/src/core/lib/iomgr/timer_heap.h +16 -8
- data/src/core/lib/iomgr/{timer_manager.c → timer_manager.cc} +54 -52
- data/src/core/lib/iomgr/timer_manager.h +8 -0
- data/src/core/lib/iomgr/{timer_uv.c → timer_uv.cc} +22 -24
- data/src/core/lib/iomgr/timer_uv.h +2 -2
- data/src/core/lib/iomgr/{udp_server.c → udp_server.cc} +75 -75
- data/src/core/lib/iomgr/udp_server.h +25 -17
- data/src/core/lib/iomgr/{unix_sockets_posix.c → unix_sockets_posix.cc} +22 -21
- data/src/core/lib/iomgr/unix_sockets_posix.h +14 -6
- data/src/core/lib/iomgr/{unix_sockets_posix_noop.c → unix_sockets_posix_noop.cc} +5 -5
- data/src/core/lib/iomgr/{wakeup_fd_cv.c → wakeup_fd_cv.cc} +2 -2
- data/src/core/lib/iomgr/wakeup_fd_cv.h +10 -0
- data/src/core/lib/iomgr/{wakeup_fd_eventfd.c → wakeup_fd_eventfd.cc} +0 -0
- data/src/core/lib/iomgr/{wakeup_fd_nospecial.c → wakeup_fd_nospecial.cc} +0 -0
- data/src/core/lib/iomgr/{wakeup_fd_pipe.c → wakeup_fd_pipe.cc} +1 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +9 -1
- data/src/core/lib/iomgr/{wakeup_fd_posix.c → wakeup_fd_posix.cc} +6 -7
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -0
- data/src/core/lib/json/{json.c → json.cc} +0 -0
- data/src/core/lib/json/json.h +8 -0
- data/src/core/lib/json/{json_reader.c → json_reader.cc} +18 -18
- data/src/core/lib/json/json_reader.h +26 -18
- data/src/core/lib/json/{json_string.c → json_string.cc} +57 -57
- data/src/core/lib/json/{json_writer.c → json_writer.cc} +20 -20
- data/src/core/lib/json/json_writer.h +23 -15
- data/src/core/lib/profiling/{basic_timers.c → basic_timers.cc} +34 -34
- data/src/core/lib/profiling/{stap_timers.c → stap_timers.cc} +5 -5
- data/src/core/lib/profiling/timers.h +6 -6
- data/src/core/lib/security/context/{security_context.c → security_context.cc} +98 -95
- data/src/core/lib/security/context/security_context.h +27 -29
- data/src/core/lib/security/credentials/composite/{composite_credentials.c → composite_credentials.cc} +79 -73
- data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -9
- data/src/core/lib/security/credentials/{credentials.c → credentials.cc} +97 -92
- data/src/core/lib/security/credentials/credentials.h +83 -75
- data/src/core/lib/security/credentials/{credentials_metadata.c → credentials_metadata.cc} +7 -6
- data/src/core/lib/security/credentials/fake/{fake_credentials.c → fake_credentials.cc} +39 -36
- data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
- data/src/core/lib/security/credentials/google_default/{credentials_generic.c → credentials_generic.cc} +5 -5
- data/src/core/lib/security/credentials/google_default/{google_default_credentials.c → google_default_credentials.cc} +55 -55
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -1
- data/src/core/lib/security/credentials/iam/{iam_credentials.c → iam_credentials.cc} +19 -18
- data/src/core/lib/security/credentials/jwt/{json_token.c → json_token.cc} +80 -75
- data/src/core/lib/security/credentials/jwt/json_token.h +23 -15
- data/src/core/lib/security/credentials/jwt/{jwt_credentials.c → jwt_credentials.cc} +45 -41
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
- data/src/core/lib/security/credentials/jwt/{jwt_verifier.c → jwt_verifier.cc} +262 -252
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +38 -30
- data/src/core/lib/security/credentials/oauth2/{oauth2_credentials.c → oauth2_credentials.cc} +138 -141
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +30 -22
- data/src/core/lib/security/credentials/plugin/{plugin_credentials.c → plugin_credentials.cc} +52 -53
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +7 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +344 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +27 -0
- data/src/core/lib/security/transport/auth_filters.h +16 -0
- data/src/core/lib/security/transport/{client_auth_filter.c → client_auth_filter.cc} +127 -115
- data/src/core/lib/security/transport/{lb_targets_info.c → lb_targets_info.cc} +16 -13
- data/src/core/lib/security/transport/lb_targets_info.h +11 -3
- data/src/core/lib/security/transport/{secure_endpoint.c → secure_endpoint.cc} +84 -76
- data/src/core/lib/security/transport/secure_endpoint.h +13 -5
- data/src/core/lib/security/transport/security_connector.cc +1121 -0
- data/src/core/lib/security/transport/security_connector.h +97 -79
- data/src/core/lib/security/transport/{security_handshaker.c → security_handshaker.cc} +139 -132
- data/src/core/lib/security/transport/security_handshaker.h +11 -3
- data/src/core/lib/security/transport/{server_auth_filter.c → server_auth_filter.cc} +68 -68
- data/src/core/lib/security/transport/{tsi_error.c → tsi_error.cc} +1 -1
- data/src/core/lib/security/transport/tsi_error.h +9 -1
- data/src/core/lib/security/util/{json_util.c → json_util.cc} +11 -11
- data/src/core/lib/security/util/json_util.h +12 -4
- data/src/core/lib/slice/{b64.c → b64.cc} +15 -15
- data/src/core/lib/slice/b64.h +12 -4
- data/src/core/lib/slice/{percent_encoding.c → percent_encoding.cc} +15 -15
- data/src/core/lib/slice/percent_encoding.h +11 -3
- data/src/core/lib/slice/{slice.c → slice.cc} +64 -64
- data/src/core/lib/slice/{slice_buffer.c → slice_buffer.cc} +38 -38
- data/src/core/lib/slice/{slice_hash_table.c → slice_hash_table.cc} +7 -7
- data/src/core/lib/slice/slice_hash_table.h +19 -11
- data/src/core/lib/slice/{slice_intern.c → slice_intern.cc} +35 -34
- data/src/core/lib/slice/slice_internal.h +17 -6
- data/src/core/lib/slice/{slice_string_helpers.c → slice_string_helpers.cc} +9 -9
- data/src/core/lib/slice/slice_string_helpers.h +3 -3
- data/src/core/lib/support/abstract.h +29 -0
- data/src/core/lib/support/{alloc.c → alloc.cc} +22 -22
- data/src/core/lib/support/{arena.c → arena.cc} +12 -12
- data/src/core/lib/support/arena.h +11 -3
- data/src/core/lib/support/{atm.c → atm.cc} +1 -1
- data/src/core/lib/support/{avl.c → avl.cc} +71 -70
- data/src/core/lib/support/{cmdline.c → cmdline.cc} +62 -62
- data/src/core/lib/support/{cpu_iphone.c → cpu_iphone.cc} +2 -0
- data/src/core/lib/support/{cpu_linux.c → cpu_linux.cc} +10 -0
- data/src/core/lib/support/{cpu_posix.c → cpu_posix.cc} +27 -4
- data/src/core/lib/support/{cpu_windows.c → cpu_windows.cc} +1 -0
- data/src/core/lib/support/env.h +3 -3
- data/src/core/lib/support/{env_linux.c → env_linux.cc} +11 -11
- data/src/core/lib/support/{env_posix.c → env_posix.cc} +4 -4
- data/src/core/lib/support/{env_windows.c → env_windows.cc} +5 -5
- data/src/core/lib/support/{fork.c → fork.cc} +2 -2
- data/src/core/lib/support/{histogram.c → histogram.cc} +25 -26
- data/src/core/lib/support/{host_port.c → host_port.cc} +16 -16
- data/src/core/lib/support/{log.c → log.cc} +8 -8
- data/src/core/lib/support/{log_android.c → log_android.cc} +7 -7
- data/src/core/lib/support/{log_linux.c → log_linux.cc} +8 -8
- data/src/core/lib/support/{log_posix.c → log_posix.cc} +9 -10
- data/src/core/lib/support/{log_windows.c → log_windows.cc} +7 -7
- data/src/core/lib/support/manual_constructor.h +211 -0
- data/src/core/lib/support/memory.h +41 -0
- data/src/core/lib/support/mpscq.cc +114 -0
- data/src/core/lib/support/mpscq.h +45 -7
- data/src/core/lib/support/{murmur_hash.c → murmur_hash.cc} +9 -12
- data/src/core/lib/support/murmur_hash.h +9 -1
- data/src/core/lib/support/spinlock.h +8 -1
- data/src/core/lib/support/{string.c → string.cc} +56 -55
- data/src/core/lib/support/string.h +21 -21
- data/src/core/lib/support/{string_posix.c → string_posix.cc} +5 -4
- data/src/core/lib/support/{string_util_windows.c → string_util_windows.cc} +9 -6
- data/src/core/lib/support/{string_windows.c → string_windows.cc} +3 -2
- data/src/core/lib/support/string_windows.h +8 -0
- data/src/core/lib/support/{subprocess_posix.c → subprocess_posix.cc} +13 -13
- data/src/core/lib/support/{subprocess_windows.c → subprocess_windows.cc} +9 -9
- data/src/core/lib/support/{sync.c → sync.cc} +22 -22
- data/src/core/lib/support/{sync_posix.c → sync_posix.cc} +6 -2
- data/src/core/lib/support/{sync_windows.c → sync_windows.cc} +14 -14
- data/src/core/lib/support/{thd.c → thd.cc} +0 -0
- data/src/core/lib/support/{thd_posix.c → thd_posix.cc} +10 -10
- data/src/core/lib/support/{thd_windows.c → thd_windows.cc} +10 -10
- data/src/core/lib/support/{time.c → time.cc} +0 -0
- data/src/core/lib/support/{time_posix.c → time_posix.cc} +5 -6
- data/src/core/lib/support/{time_precise.c → time_precise.cc} +6 -4
- data/src/core/lib/support/time_precise.h +9 -1
- data/src/core/lib/support/{time_windows.c → time_windows.cc} +2 -3
- data/src/core/lib/support/{tls_pthread.c → tls_pthread.cc} +2 -2
- data/src/core/lib/support/tmpfile.h +1 -1
- data/src/core/lib/support/{tmpfile_msys.c → tmpfile_msys.cc} +2 -2
- data/src/core/lib/support/{tmpfile_posix.c → tmpfile_posix.cc} +7 -7
- data/src/core/lib/support/{tmpfile_windows.c → tmpfile_windows.cc} +2 -2
- data/src/core/lib/support/{wrap_memcpy.c → wrap_memcpy.cc} +4 -2
- data/src/core/lib/surface/{alarm.c → alarm.cc} +32 -31
- data/src/core/lib/surface/alarm_internal.h +10 -2
- data/src/core/lib/surface/{api_trace.c → api_trace.cc} +1 -1
- data/src/core/lib/surface/api_trace.h +2 -2
- data/src/core/lib/surface/{byte_buffer.c → byte_buffer.cc} +13 -13
- data/src/core/lib/surface/{byte_buffer_reader.c → byte_buffer_reader.cc} +9 -9
- data/src/core/lib/surface/{call.c → call.cc} +379 -372
- data/src/core/lib/surface/call.h +37 -38
- data/src/core/lib/surface/{call_details.c → call_details.cc} +0 -0
- data/src/core/lib/surface/{call_log_batch.c → call_log_batch.cc} +13 -11
- data/src/core/lib/surface/call_test_only.h +5 -5
- data/src/core/lib/surface/{channel.c → channel.cc} +94 -95
- data/src/core/lib/surface/channel.h +29 -21
- data/src/core/lib/surface/{channel_init.c → channel_init.cc} +13 -13
- data/src/core/lib/surface/channel_init.h +6 -6
- data/src/core/lib/surface/{channel_ping.c → channel_ping.cc} +12 -12
- data/src/core/lib/surface/{channel_stack_type.c → channel_stack_type.cc} +1 -1
- data/src/core/lib/surface/channel_stack_type.h +9 -1
- data/src/core/lib/surface/{completion_queue.c → completion_queue.cc} +416 -379
- data/src/core/lib/surface/completion_queue.h +29 -29
- data/src/core/lib/surface/{completion_queue_factory.c → completion_queue_factory.cc} +1 -1
- data/src/core/lib/surface/completion_queue_factory.h +8 -0
- data/src/core/lib/surface/{event_string.c → event_string.cc} +9 -9
- data/src/core/lib/surface/event_string.h +9 -1
- data/src/core/lib/surface/{init.c → init.cc} +16 -39
- data/src/core/lib/surface/init.h +8 -0
- data/src/core/lib/surface/{init_secure.c → init_secure.cc} +12 -25
- data/src/core/lib/surface/lame_client.cc +38 -40
- data/src/core/lib/surface/lame_client.h +8 -0
- data/src/core/lib/surface/{metadata_array.c → metadata_array.cc} +0 -0
- data/src/core/lib/surface/{server.c → server.cc} +340 -404
- data/src/core/lib/surface/server.h +22 -14
- data/src/core/lib/surface/{validate_metadata.c → validate_metadata.cc} +10 -9
- data/src/core/lib/surface/validate_metadata.h +10 -2
- data/src/core/lib/surface/{version.c → version.cc} +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +84 -0
- data/src/core/lib/transport/bdp_estimator.h +67 -42
- data/src/core/lib/transport/{byte_stream.c → byte_stream.cc} +51 -51
- data/src/core/lib/transport/byte_stream.h +41 -33
- data/src/core/lib/transport/{connectivity_state.c → connectivity_state.cc} +36 -40
- data/src/core/lib/transport/connectivity_state.h +29 -21
- data/src/core/lib/transport/{error_utils.c → error_utils.cc} +26 -22
- data/src/core/lib/transport/error_utils.h +18 -6
- data/src/core/lib/transport/{metadata.c → metadata.cc} +92 -88
- data/src/core/lib/transport/metadata.h +22 -20
- data/src/core/lib/transport/{metadata_batch.c → metadata_batch.cc} +78 -79
- data/src/core/lib/transport/metadata_batch.h +46 -45
- data/src/core/lib/transport/pid_controller.cc +48 -0
- data/src/core/lib/transport/pid_controller.h +84 -32
- data/src/core/lib/transport/{service_config.c → service_config.cc} +66 -48
- data/src/core/lib/transport/service_config.h +11 -2
- data/src/core/lib/transport/{static_metadata.c → static_metadata.cc} +2 -2
- data/src/core/lib/transport/static_metadata.h +30 -23
- data/src/core/lib/transport/{status_conversion.c → status_conversion.cc} +4 -3
- data/src/core/lib/transport/status_conversion.h +12 -2
- data/src/core/lib/transport/{timeout_encoding.c → timeout_encoding.cc} +28 -61
- data/src/core/lib/transport/timeout_encoding.h +11 -2
- data/src/core/lib/transport/{transport.c → transport.cc} +79 -79
- data/src/core/lib/transport/transport.h +78 -80
- data/src/core/lib/transport/transport_impl.h +27 -19
- data/src/core/lib/transport/{transport_op_string.c → transport_op_string.cc} +32 -30
- data/src/core/plugin_registry/{grpc_plugin_registry.c → grpc_plugin_registry.cc} +34 -38
- data/src/core/tsi/{fake_transport_security.c → fake_transport_security.cc} +141 -132
- data/src/core/tsi/fake_transport_security.h +5 -5
- data/src/core/tsi/{gts_transport_security.c → gts_transport_security.cc} +4 -4
- data/src/core/tsi/gts_transport_security.h +11 -3
- data/src/core/tsi/{ssl_transport_security.c → ssl_transport_security.cc} +309 -300
- data/src/core/tsi/ssl_transport_security.h +25 -25
- data/src/core/tsi/ssl_types.h +8 -0
- data/src/core/tsi/{transport_security.c → transport_security.cc} +94 -87
- data/src/core/tsi/transport_security.h +55 -55
- data/src/core/tsi/{transport_security_adapter.c → transport_security_adapter.cc} +58 -55
- data/src/core/tsi/transport_security_adapter.h +2 -2
- data/src/core/tsi/{transport_security_grpc.c → transport_security_grpc.cc} +21 -21
- data/src/core/tsi/transport_security_grpc.h +19 -19
- data/src/core/tsi/transport_security_interface.h +41 -41
- data/src/ruby/ext/grpc/extconf.rb +4 -2
- data/src/ruby/ext/grpc/rb_byte_buffer.c +5 -5
- data/src/ruby/ext/grpc/rb_byte_buffer.h +2 -2
- data/src/ruby/ext/grpc/rb_call.c +41 -42
- data/src/ruby/ext/grpc/rb_call.h +6 -6
- data/src/ruby/ext/grpc/rb_call_credentials.c +30 -30
- data/src/ruby/ext/grpc/rb_channel.c +87 -87
- data/src/ruby/ext/grpc/rb_channel_credentials.c +23 -23
- data/src/ruby/ext/grpc/rb_completion_queue.c +11 -11
- data/src/ruby/ext/grpc/rb_completion_queue.h +3 -3
- data/src/ruby/ext/grpc/rb_compression_options.c +20 -20
- data/src/ruby/ext/grpc/rb_event_thread.c +14 -14
- data/src/ruby/ext/grpc/rb_event_thread.h +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +8 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -58
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +242 -306
- data/src/ruby/ext/grpc/rb_server.c +23 -23
- data/src/ruby/ext/grpc/rb_server_credentials.c +13 -13
- data/src/ruby/lib/grpc/generic/rpc_server.rb +25 -12
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/checker.rb +14 -0
- data/src/ruby/spec/pb/health/checker_spec.rb +29 -0
- data/third_party/cares/config_freebsd/ares_config.h +502 -0
- data/third_party/cares/config_openbsd/ares_config.h +502 -0
- metadata +302 -328
- data/src/core/ext/census/aggregation.h +0 -51
- data/src/core/ext/census/base_resources.c +0 -56
- data/src/core/ext/census/base_resources.h +0 -24
- data/src/core/ext/census/census_interface.h +0 -61
- data/src/core/ext/census/census_rpc_stats.h +0 -86
- data/src/core/ext/census/context.c +0 -496
- data/src/core/ext/census/gen/census.pb.c +0 -161
- data/src/core/ext/census/gen/census.pb.h +0 -280
- data/src/core/ext/census/gen/trace_context.pb.c +0 -39
- data/src/core/ext/census/gen/trace_context.pb.h +0 -78
- data/src/core/ext/census/grpc_filter.c +0 -196
- data/src/core/ext/census/grpc_plugin.c +0 -70
- data/src/core/ext/census/initialize.c +0 -51
- data/src/core/ext/census/intrusive_hash_map.c +0 -305
- data/src/core/ext/census/intrusive_hash_map.h +0 -152
- data/src/core/ext/census/intrusive_hash_map_internal.h +0 -48
- data/src/core/ext/census/mlog.c +0 -586
- data/src/core/ext/census/mlog.h +0 -80
- data/src/core/ext/census/operation.c +0 -48
- data/src/core/ext/census/placeholders.c +0 -49
- data/src/core/ext/census/resource.c +0 -303
- data/src/core/ext/census/resource.h +0 -48
- data/src/core/ext/census/rpc_metric_id.h +0 -36
- data/src/core/ext/census/trace_context.c +0 -71
- data/src/core/ext/census/trace_context.h +0 -56
- data/src/core/ext/census/trace_label.h +0 -46
- data/src/core/ext/census/trace_propagation.h +0 -48
- data/src/core/ext/census/trace_status.h +0 -30
- data/src/core/ext/census/trace_string.h +0 -35
- data/src/core/ext/census/tracing.c +0 -55
- data/src/core/ext/census/tracing.h +0 -109
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +0 -714
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +0 -924
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +0 -60
- data/src/core/ext/transport/chttp2/transport/flow_control.c +0 -502
- data/src/core/ext/transport/chttp2/transport/writing.c +0 -534
- data/src/core/lib/debug/trace.c +0 -146
- data/src/core/lib/iomgr/closure.c +0 -219
- data/src/core/lib/iomgr/ev_epollex_linux.c +0 -1461
- data/src/core/lib/iomgr/ev_posix.c +0 -266
- data/src/core/lib/iomgr/exec_ctx.c +0 -113
- data/src/core/lib/iomgr/tcp_uv.c +0 -381
- data/src/core/lib/security/credentials/ssl/ssl_credentials.c +0 -194
- data/src/core/lib/security/transport/security_connector.c +0 -914
- data/src/core/lib/support/backoff.c +0 -72
- data/src/core/lib/support/backoff.h +0 -56
- data/src/core/lib/support/mpscq.c +0 -79
- data/src/core/lib/support/stack_lockfree.c +0 -137
- data/src/core/lib/support/stack_lockfree.h +0 -38
- data/src/core/lib/transport/bdp_estimator.c +0 -110
- data/src/core/lib/transport/pid_controller.c +0 -63
@@ -23,59 +23,63 @@
|
|
23
23
|
#include <grpc/grpc.h>
|
24
24
|
#include "src/core/lib/iomgr/socket_mutator.h"
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
26
30
|
// Channel args are intentionally immutable, to avoid the need for locking.
|
27
31
|
|
28
32
|
/** Copy the arguments in \a src into a new instance */
|
29
|
-
grpc_channel_args
|
33
|
+
grpc_channel_args* grpc_channel_args_copy(const grpc_channel_args* src);
|
30
34
|
|
31
35
|
/** Copy the arguments in \a src into a new instance, stably sorting keys */
|
32
|
-
grpc_channel_args
|
36
|
+
grpc_channel_args* grpc_channel_args_normalize(const grpc_channel_args* src);
|
33
37
|
|
34
38
|
/** Copy the arguments in \a src and append \a to_add. If \a to_add is NULL, it
|
35
39
|
* is equivalent to calling \a grpc_channel_args_copy. */
|
36
|
-
grpc_channel_args
|
37
|
-
const grpc_arg
|
40
|
+
grpc_channel_args* grpc_channel_args_copy_and_add(const grpc_channel_args* src,
|
41
|
+
const grpc_arg* to_add,
|
38
42
|
size_t num_to_add);
|
39
43
|
|
40
44
|
/** Copies the arguments in \a src except for those whose keys are in
|
41
45
|
\a to_remove. */
|
42
|
-
grpc_channel_args
|
43
|
-
const grpc_channel_args
|
46
|
+
grpc_channel_args* grpc_channel_args_copy_and_remove(
|
47
|
+
const grpc_channel_args* src, const char** to_remove, size_t num_to_remove);
|
44
48
|
|
45
49
|
/** Copies the arguments from \a src except for those whose keys are in
|
46
50
|
\a to_remove and appends the arguments in \a to_add. */
|
47
|
-
grpc_channel_args
|
48
|
-
const grpc_channel_args
|
49
|
-
const grpc_arg
|
51
|
+
grpc_channel_args* grpc_channel_args_copy_and_add_and_remove(
|
52
|
+
const grpc_channel_args* src, const char** to_remove, size_t num_to_remove,
|
53
|
+
const grpc_arg* to_add, size_t num_to_add);
|
50
54
|
|
51
55
|
/** Perform the union of \a a and \a b, prioritizing \a a entries */
|
52
|
-
grpc_channel_args
|
53
|
-
const grpc_channel_args
|
56
|
+
grpc_channel_args* grpc_channel_args_union(const grpc_channel_args* a,
|
57
|
+
const grpc_channel_args* b);
|
54
58
|
|
55
59
|
/** Destroy arguments created by \a grpc_channel_args_copy */
|
56
|
-
void grpc_channel_args_destroy(grpc_exec_ctx
|
60
|
+
void grpc_channel_args_destroy(grpc_exec_ctx* exec_ctx, grpc_channel_args* a);
|
57
61
|
|
58
62
|
/** Returns the compression algorithm set in \a a. */
|
59
63
|
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm(
|
60
|
-
const grpc_channel_args
|
64
|
+
const grpc_channel_args* a);
|
61
65
|
|
62
66
|
/** Returns the stream compression algorithm set in \a a. */
|
63
67
|
grpc_stream_compression_algorithm
|
64
|
-
grpc_channel_args_get_stream_compression_algorithm(const grpc_channel_args
|
68
|
+
grpc_channel_args_get_stream_compression_algorithm(const grpc_channel_args* a);
|
65
69
|
|
66
70
|
/** Returns a channel arg instance with compression enabled. If \a a is
|
67
71
|
* non-NULL, its args are copied. N.B. GRPC_COMPRESS_NONE disables compression
|
68
72
|
* for the channel. */
|
69
|
-
grpc_channel_args
|
70
|
-
grpc_channel_args
|
73
|
+
grpc_channel_args* grpc_channel_args_set_compression_algorithm(
|
74
|
+
grpc_channel_args* a, grpc_compression_algorithm algorithm);
|
71
75
|
|
72
76
|
/** Returns a channel arg instance with stream compression enabled. If \a a is
|
73
77
|
* non-NULL, its args are copied. N.B. GRPC_STREAM_COMPRESS_NONE disables
|
74
78
|
* stream compression for the channel. If a value other than
|
75
79
|
* GRPC_STREAM_COMPRESS_NONE is set, it takes precedence over message-wise
|
76
80
|
* compression algorithms. */
|
77
|
-
grpc_channel_args
|
78
|
-
grpc_channel_args
|
81
|
+
grpc_channel_args* grpc_channel_args_set_stream_compression_algorithm(
|
82
|
+
grpc_channel_args* a, grpc_stream_compression_algorithm algorithm);
|
79
83
|
|
80
84
|
/** Sets the support for the given compression algorithm. By default, all
|
81
85
|
* compression algorithms are enabled. It's an error to disable an algorithm set
|
@@ -84,8 +88,8 @@ grpc_channel_args *grpc_channel_args_set_stream_compression_algorithm(
|
|
84
88
|
* Returns an instance with the updated algorithm states. The \a a pointer is
|
85
89
|
* modified to point to the returned instance (which may be different from the
|
86
90
|
* input value of \a a). */
|
87
|
-
grpc_channel_args
|
88
|
-
grpc_exec_ctx
|
91
|
+
grpc_channel_args* grpc_channel_args_compression_algorithm_set_state(
|
92
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_args** a,
|
89
93
|
grpc_compression_algorithm algorithm, int enabled);
|
90
94
|
|
91
95
|
/** Sets the support for the given stream compression algorithm. By default, all
|
@@ -95,8 +99,8 @@ grpc_channel_args *grpc_channel_args_compression_algorithm_set_state(
|
|
95
99
|
* Returns an instance with the updated algorithm states. The \a a pointer is
|
96
100
|
* modified to point to the returned instance (which may be different from the
|
97
101
|
* input value of \a a). */
|
98
|
-
grpc_channel_args
|
99
|
-
grpc_exec_ctx
|
102
|
+
grpc_channel_args* grpc_channel_args_stream_compression_algorithm_set_state(
|
103
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_args** a,
|
100
104
|
grpc_stream_compression_algorithm algorithm, int enabled);
|
101
105
|
|
102
106
|
/** Returns the bitset representing the support state (true for enabled, false
|
@@ -105,7 +109,7 @@ grpc_channel_args *grpc_channel_args_stream_compression_algorithm_set_state(
|
|
105
109
|
* The i-th bit of the returned bitset corresponds to the i-th entry in the
|
106
110
|
* grpc_compression_algorithm enum. */
|
107
111
|
uint32_t grpc_channel_args_compression_algorithm_get_states(
|
108
|
-
const grpc_channel_args
|
112
|
+
const grpc_channel_args* a);
|
109
113
|
|
110
114
|
/** Returns the bitset representing the support state (true for enabled, false
|
111
115
|
* for disabled) for stream compression algorithms.
|
@@ -113,23 +117,23 @@ uint32_t grpc_channel_args_compression_algorithm_get_states(
|
|
113
117
|
* The i-th bit of the returned bitset corresponds to the i-th entry in the
|
114
118
|
* grpc_stream_compression_algorithm enum. */
|
115
119
|
uint32_t grpc_channel_args_stream_compression_algorithm_get_states(
|
116
|
-
const grpc_channel_args
|
120
|
+
const grpc_channel_args* a);
|
117
121
|
|
118
|
-
int grpc_channel_args_compare(const grpc_channel_args
|
119
|
-
const grpc_channel_args
|
122
|
+
int grpc_channel_args_compare(const grpc_channel_args* a,
|
123
|
+
const grpc_channel_args* b);
|
120
124
|
|
121
125
|
/** Returns a channel arg instance with socket mutator added. The socket mutator
|
122
126
|
* will perform its mutate_fd method on all file descriptors used by the
|
123
127
|
* channel.
|
124
128
|
* If \a a is non-MULL, its args are copied. */
|
125
|
-
grpc_channel_args
|
126
|
-
grpc_channel_args
|
129
|
+
grpc_channel_args* grpc_channel_args_set_socket_mutator(
|
130
|
+
grpc_channel_args* a, grpc_socket_mutator* mutator);
|
127
131
|
|
128
132
|
/** Returns the value of argument \a name from \a args, or NULL if not found. */
|
129
|
-
const grpc_arg
|
130
|
-
const char
|
133
|
+
const grpc_arg* grpc_channel_args_find(const grpc_channel_args* args,
|
134
|
+
const char* name);
|
131
135
|
|
132
|
-
bool grpc_channel_args_want_minimal_stack(const grpc_channel_args
|
136
|
+
bool grpc_channel_args_want_minimal_stack(const grpc_channel_args* args);
|
133
137
|
|
134
138
|
typedef struct grpc_integer_options {
|
135
139
|
int default_value; // Return this if value is outside of expected bounds.
|
@@ -138,15 +142,19 @@ typedef struct grpc_integer_options {
|
|
138
142
|
} grpc_integer_options;
|
139
143
|
|
140
144
|
/** Returns the value of \a arg, subject to the contraints in \a options. */
|
141
|
-
int grpc_channel_arg_get_integer(const grpc_arg
|
145
|
+
int grpc_channel_arg_get_integer(const grpc_arg* arg,
|
142
146
|
const grpc_integer_options options);
|
143
147
|
|
144
|
-
bool grpc_channel_arg_get_bool(const grpc_arg
|
148
|
+
bool grpc_channel_arg_get_bool(const grpc_arg* arg, bool default_value);
|
145
149
|
|
146
150
|
// Helpers for creating channel args.
|
147
|
-
grpc_arg grpc_channel_arg_string_create(char
|
148
|
-
grpc_arg grpc_channel_arg_integer_create(char
|
149
|
-
grpc_arg grpc_channel_arg_pointer_create(char
|
150
|
-
const grpc_arg_pointer_vtable
|
151
|
+
grpc_arg grpc_channel_arg_string_create(char* name, char* value);
|
152
|
+
grpc_arg grpc_channel_arg_integer_create(char* name, int value);
|
153
|
+
grpc_arg grpc_channel_arg_pointer_create(char* name, void* value,
|
154
|
+
const grpc_arg_pointer_vtable* vtable);
|
155
|
+
|
156
|
+
#ifdef __cplusplus
|
157
|
+
}
|
158
|
+
#endif
|
151
159
|
|
152
160
|
#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */
|
@@ -23,7 +23,7 @@
|
|
23
23
|
#include <stdlib.h>
|
24
24
|
#include <string.h>
|
25
25
|
|
26
|
-
|
26
|
+
grpc_core::TraceFlag grpc_trace_channel(false, "channel");
|
27
27
|
|
28
28
|
/* Memory layouts.
|
29
29
|
|
@@ -45,7 +45,7 @@ grpc_tracer_flag grpc_trace_channel = GRPC_TRACER_INITIALIZER(false, "channel");
|
|
45
45
|
#define ROUND_UP_TO_ALIGNMENT_SIZE(x) \
|
46
46
|
(((x) + GPR_MAX_ALIGNMENT - 1u) & ~(GPR_MAX_ALIGNMENT - 1u))
|
47
47
|
|
48
|
-
size_t grpc_channel_stack_size(const grpc_channel_filter
|
48
|
+
size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
|
49
49
|
size_t filter_count) {
|
50
50
|
/* always need the header, and size for the channel elements */
|
51
51
|
size_t size =
|
@@ -64,52 +64,51 @@ size_t grpc_channel_stack_size(const grpc_channel_filter **filters,
|
|
64
64
|
return size;
|
65
65
|
}
|
66
66
|
|
67
|
-
#define CHANNEL_ELEMS_FROM_STACK(stk)
|
68
|
-
((grpc_channel_element
|
69
|
-
|
67
|
+
#define CHANNEL_ELEMS_FROM_STACK(stk) \
|
68
|
+
((grpc_channel_element*)((char*)(stk) + ROUND_UP_TO_ALIGNMENT_SIZE( \
|
69
|
+
sizeof(grpc_channel_stack))))
|
70
70
|
|
71
|
-
#define CALL_ELEMS_FROM_STACK(stk)
|
72
|
-
((grpc_call_element
|
73
|
-
|
71
|
+
#define CALL_ELEMS_FROM_STACK(stk) \
|
72
|
+
((grpc_call_element*)((char*)(stk) + \
|
73
|
+
ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(grpc_call_stack))))
|
74
74
|
|
75
|
-
grpc_channel_element
|
76
|
-
grpc_channel_stack
|
75
|
+
grpc_channel_element* grpc_channel_stack_element(
|
76
|
+
grpc_channel_stack* channel_stack, size_t index) {
|
77
77
|
return CHANNEL_ELEMS_FROM_STACK(channel_stack) + index;
|
78
78
|
}
|
79
79
|
|
80
|
-
grpc_channel_element
|
81
|
-
grpc_channel_stack
|
80
|
+
grpc_channel_element* grpc_channel_stack_last_element(
|
81
|
+
grpc_channel_stack* channel_stack) {
|
82
82
|
return grpc_channel_stack_element(channel_stack, channel_stack->count - 1);
|
83
83
|
}
|
84
84
|
|
85
|
-
grpc_call_element
|
85
|
+
grpc_call_element* grpc_call_stack_element(grpc_call_stack* call_stack,
|
86
86
|
size_t index) {
|
87
87
|
return CALL_ELEMS_FROM_STACK(call_stack) + index;
|
88
88
|
}
|
89
89
|
|
90
|
-
grpc_error
|
91
|
-
grpc_exec_ctx
|
92
|
-
void
|
93
|
-
const grpc_channel_args
|
94
|
-
const char
|
90
|
+
grpc_error* grpc_channel_stack_init(
|
91
|
+
grpc_exec_ctx* exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
|
92
|
+
void* destroy_arg, const grpc_channel_filter** filters, size_t filter_count,
|
93
|
+
const grpc_channel_args* channel_args, grpc_transport* optional_transport,
|
94
|
+
const char* name, grpc_channel_stack* stack) {
|
95
95
|
size_t call_size =
|
96
96
|
ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(grpc_call_stack)) +
|
97
97
|
ROUND_UP_TO_ALIGNMENT_SIZE(filter_count * sizeof(grpc_call_element));
|
98
|
-
grpc_channel_element
|
98
|
+
grpc_channel_element* elems;
|
99
99
|
grpc_channel_element_args args;
|
100
|
-
char
|
100
|
+
char* user_data;
|
101
101
|
size_t i;
|
102
102
|
|
103
103
|
stack->count = filter_count;
|
104
104
|
GRPC_STREAM_REF_INIT(&stack->refcount, initial_refs, destroy, destroy_arg,
|
105
105
|
name);
|
106
106
|
elems = CHANNEL_ELEMS_FROM_STACK(stack);
|
107
|
-
user_data =
|
108
|
-
|
109
|
-
ROUND_UP_TO_ALIGNMENT_SIZE(filter_count * sizeof(grpc_channel_element));
|
107
|
+
user_data = ((char*)elems) + ROUND_UP_TO_ALIGNMENT_SIZE(
|
108
|
+
filter_count * sizeof(grpc_channel_element));
|
110
109
|
|
111
110
|
/* init per-filter data */
|
112
|
-
grpc_error
|
111
|
+
grpc_error* first_error = GRPC_ERROR_NONE;
|
113
112
|
for (i = 0; i < filter_count; i++) {
|
114
113
|
args.channel_stack = stack;
|
115
114
|
args.channel_args = channel_args;
|
@@ -118,7 +117,7 @@ grpc_error *grpc_channel_stack_init(
|
|
118
117
|
args.is_last = i == (filter_count - 1);
|
119
118
|
elems[i].filter = filters[i];
|
120
119
|
elems[i].channel_data = user_data;
|
121
|
-
grpc_error
|
120
|
+
grpc_error* error =
|
122
121
|
elems[i].filter->init_channel_elem(exec_ctx, &elems[i], &args);
|
123
122
|
if (error != GRPC_ERROR_NONE) {
|
124
123
|
if (first_error == GRPC_ERROR_NONE) {
|
@@ -131,17 +130,17 @@ grpc_error *grpc_channel_stack_init(
|
|
131
130
|
call_size += ROUND_UP_TO_ALIGNMENT_SIZE(filters[i]->sizeof_call_data);
|
132
131
|
}
|
133
132
|
|
134
|
-
GPR_ASSERT(user_data > (char
|
135
|
-
GPR_ASSERT((uintptr_t)(user_data - (char
|
133
|
+
GPR_ASSERT(user_data > (char*)stack);
|
134
|
+
GPR_ASSERT((uintptr_t)(user_data - (char*)stack) ==
|
136
135
|
grpc_channel_stack_size(filters, filter_count));
|
137
136
|
|
138
137
|
stack->call_stack_size = call_size;
|
139
138
|
return first_error;
|
140
139
|
}
|
141
140
|
|
142
|
-
void grpc_channel_stack_destroy(grpc_exec_ctx
|
143
|
-
grpc_channel_stack
|
144
|
-
grpc_channel_element
|
141
|
+
void grpc_channel_stack_destroy(grpc_exec_ctx* exec_ctx,
|
142
|
+
grpc_channel_stack* stack) {
|
143
|
+
grpc_channel_element* channel_elems = CHANNEL_ELEMS_FROM_STACK(stack);
|
145
144
|
size_t count = stack->count;
|
146
145
|
size_t i;
|
147
146
|
|
@@ -151,31 +150,31 @@ void grpc_channel_stack_destroy(grpc_exec_ctx *exec_ctx,
|
|
151
150
|
}
|
152
151
|
}
|
153
152
|
|
154
|
-
grpc_error
|
155
|
-
grpc_channel_stack
|
153
|
+
grpc_error* grpc_call_stack_init(grpc_exec_ctx* exec_ctx,
|
154
|
+
grpc_channel_stack* channel_stack,
|
156
155
|
int initial_refs, grpc_iomgr_cb_func destroy,
|
157
|
-
void
|
158
|
-
const grpc_call_element_args
|
159
|
-
grpc_channel_element
|
156
|
+
void* destroy_arg,
|
157
|
+
const grpc_call_element_args* elem_args) {
|
158
|
+
grpc_channel_element* channel_elems = CHANNEL_ELEMS_FROM_STACK(channel_stack);
|
160
159
|
size_t count = channel_stack->count;
|
161
|
-
grpc_call_element
|
162
|
-
char
|
160
|
+
grpc_call_element* call_elems;
|
161
|
+
char* user_data;
|
163
162
|
size_t i;
|
164
163
|
|
165
164
|
elem_args->call_stack->count = count;
|
166
165
|
GRPC_STREAM_REF_INIT(&elem_args->call_stack->refcount, initial_refs, destroy,
|
167
166
|
destroy_arg, "CALL_STACK");
|
168
167
|
call_elems = CALL_ELEMS_FROM_STACK(elem_args->call_stack);
|
169
|
-
user_data = ((char
|
168
|
+
user_data = ((char*)call_elems) +
|
170
169
|
ROUND_UP_TO_ALIGNMENT_SIZE(count * sizeof(grpc_call_element));
|
171
170
|
|
172
171
|
/* init per-filter data */
|
173
|
-
grpc_error
|
172
|
+
grpc_error* first_error = GRPC_ERROR_NONE;
|
174
173
|
for (i = 0; i < count; i++) {
|
175
174
|
call_elems[i].filter = channel_elems[i].filter;
|
176
175
|
call_elems[i].channel_data = channel_elems[i].channel_data;
|
177
176
|
call_elems[i].call_data = user_data;
|
178
|
-
grpc_error
|
177
|
+
grpc_error* error = call_elems[i].filter->init_call_elem(
|
179
178
|
exec_ctx, &call_elems[i], elem_args);
|
180
179
|
if (error != GRPC_ERROR_NONE) {
|
181
180
|
if (first_error == GRPC_ERROR_NONE) {
|
@@ -190,16 +189,16 @@ grpc_error *grpc_call_stack_init(grpc_exec_ctx *exec_ctx,
|
|
190
189
|
return first_error;
|
191
190
|
}
|
192
191
|
|
193
|
-
void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx
|
194
|
-
grpc_call_stack
|
195
|
-
grpc_polling_entity
|
192
|
+
void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
|
193
|
+
grpc_call_stack* call_stack,
|
194
|
+
grpc_polling_entity* pollent) {
|
196
195
|
size_t count = call_stack->count;
|
197
|
-
grpc_call_element
|
198
|
-
char
|
196
|
+
grpc_call_element* call_elems;
|
197
|
+
char* user_data;
|
199
198
|
size_t i;
|
200
199
|
|
201
200
|
call_elems = CALL_ELEMS_FROM_STACK(call_stack);
|
202
|
-
user_data = ((char
|
201
|
+
user_data = ((char*)call_elems) +
|
203
202
|
ROUND_UP_TO_ALIGNMENT_SIZE(count * sizeof(grpc_call_element));
|
204
203
|
|
205
204
|
/* init per-filter data */
|
@@ -212,13 +211,13 @@ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
|
|
212
211
|
}
|
213
212
|
|
214
213
|
void grpc_call_stack_ignore_set_pollset_or_pollset_set(
|
215
|
-
grpc_exec_ctx
|
216
|
-
grpc_polling_entity
|
214
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
215
|
+
grpc_polling_entity* pollent) {}
|
217
216
|
|
218
|
-
void grpc_call_stack_destroy(grpc_exec_ctx
|
219
|
-
const grpc_call_final_info
|
220
|
-
grpc_closure
|
221
|
-
grpc_call_element
|
217
|
+
void grpc_call_stack_destroy(grpc_exec_ctx* exec_ctx, grpc_call_stack* stack,
|
218
|
+
const grpc_call_final_info* final_info,
|
219
|
+
grpc_closure* then_schedule_closure) {
|
220
|
+
grpc_call_element* elems = CALL_ELEMS_FROM_STACK(stack);
|
222
221
|
size_t count = stack->count;
|
223
222
|
size_t i;
|
224
223
|
|
@@ -226,37 +225,37 @@ void grpc_call_stack_destroy(grpc_exec_ctx *exec_ctx, grpc_call_stack *stack,
|
|
226
225
|
for (i = 0; i < count; i++) {
|
227
226
|
elems[i].filter->destroy_call_elem(
|
228
227
|
exec_ctx, &elems[i], final_info,
|
229
|
-
i == count - 1 ? then_schedule_closure :
|
228
|
+
i == count - 1 ? then_schedule_closure : nullptr);
|
230
229
|
}
|
231
230
|
}
|
232
231
|
|
233
|
-
void grpc_call_next_op(grpc_exec_ctx
|
234
|
-
grpc_transport_stream_op_batch
|
235
|
-
grpc_call_element
|
232
|
+
void grpc_call_next_op(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
233
|
+
grpc_transport_stream_op_batch* op) {
|
234
|
+
grpc_call_element* next_elem = elem + 1;
|
236
235
|
GRPC_CALL_LOG_OP(GPR_INFO, next_elem, op);
|
237
236
|
next_elem->filter->start_transport_stream_op_batch(exec_ctx, next_elem, op);
|
238
237
|
}
|
239
238
|
|
240
|
-
void grpc_channel_next_get_info(grpc_exec_ctx
|
241
|
-
grpc_channel_element
|
242
|
-
const grpc_channel_info
|
243
|
-
grpc_channel_element
|
239
|
+
void grpc_channel_next_get_info(grpc_exec_ctx* exec_ctx,
|
240
|
+
grpc_channel_element* elem,
|
241
|
+
const grpc_channel_info* channel_info) {
|
242
|
+
grpc_channel_element* next_elem = elem + 1;
|
244
243
|
next_elem->filter->get_channel_info(exec_ctx, next_elem, channel_info);
|
245
244
|
}
|
246
245
|
|
247
|
-
void grpc_channel_next_op(grpc_exec_ctx
|
248
|
-
grpc_transport_op
|
249
|
-
grpc_channel_element
|
246
|
+
void grpc_channel_next_op(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
|
247
|
+
grpc_transport_op* op) {
|
248
|
+
grpc_channel_element* next_elem = elem + 1;
|
250
249
|
next_elem->filter->start_transport_op(exec_ctx, next_elem, op);
|
251
250
|
}
|
252
251
|
|
253
|
-
grpc_channel_stack
|
254
|
-
grpc_channel_element
|
255
|
-
return (grpc_channel_stack
|
252
|
+
grpc_channel_stack* grpc_channel_stack_from_top_element(
|
253
|
+
grpc_channel_element* elem) {
|
254
|
+
return (grpc_channel_stack*)((char*)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
|
256
255
|
sizeof(grpc_channel_stack)));
|
257
256
|
}
|
258
257
|
|
259
|
-
grpc_call_stack
|
260
|
-
return (grpc_call_stack
|
258
|
+
grpc_call_stack* grpc_call_stack_from_top_element(grpc_call_element* elem) {
|
259
|
+
return (grpc_call_stack*)((char*)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
|
261
260
|
sizeof(grpc_call_stack)));
|
262
261
|
}
|
@@ -56,23 +56,23 @@ typedef struct grpc_channel_stack grpc_channel_stack;
|
|
56
56
|
typedef struct grpc_call_stack grpc_call_stack;
|
57
57
|
|
58
58
|
typedef struct {
|
59
|
-
grpc_channel_stack
|
60
|
-
const grpc_channel_args
|
59
|
+
grpc_channel_stack* channel_stack;
|
60
|
+
const grpc_channel_args* channel_args;
|
61
61
|
/** Transport, iff it is known */
|
62
|
-
grpc_transport
|
62
|
+
grpc_transport* optional_transport;
|
63
63
|
int is_first;
|
64
64
|
int is_last;
|
65
65
|
} grpc_channel_element_args;
|
66
66
|
|
67
67
|
typedef struct {
|
68
|
-
grpc_call_stack
|
69
|
-
const void
|
70
|
-
grpc_call_context_element
|
68
|
+
grpc_call_stack* call_stack;
|
69
|
+
const void* server_transport_data;
|
70
|
+
grpc_call_context_element* context;
|
71
71
|
grpc_slice path;
|
72
72
|
gpr_timespec start_time;
|
73
|
-
|
74
|
-
gpr_arena
|
75
|
-
grpc_call_combiner
|
73
|
+
grpc_millis deadline;
|
74
|
+
gpr_arena* arena;
|
75
|
+
grpc_call_combiner* call_combiner;
|
76
76
|
} grpc_call_element_args;
|
77
77
|
|
78
78
|
typedef struct {
|
@@ -84,6 +84,7 @@ typedef struct {
|
|
84
84
|
typedef struct {
|
85
85
|
grpc_call_stats stats;
|
86
86
|
grpc_status_code final_status;
|
87
|
+
const char** error_string;
|
87
88
|
} grpc_call_final_info;
|
88
89
|
|
89
90
|
/* Channel filters specify:
|
@@ -99,14 +100,14 @@ typedef struct {
|
|
99
100
|
typedef struct {
|
100
101
|
/* Called to eg. send/receive data on a call.
|
101
102
|
See grpc_call_next_op on how to call the next element in the stack */
|
102
|
-
void (*start_transport_stream_op_batch)(grpc_exec_ctx
|
103
|
-
grpc_call_element
|
104
|
-
grpc_transport_stream_op_batch
|
103
|
+
void (*start_transport_stream_op_batch)(grpc_exec_ctx* exec_ctx,
|
104
|
+
grpc_call_element* elem,
|
105
|
+
grpc_transport_stream_op_batch* op);
|
105
106
|
/* Called to handle channel level operations - e.g. new calls, or transport
|
106
107
|
closure.
|
107
108
|
See grpc_channel_next_op on how to call the next element in the stack */
|
108
|
-
void (*start_transport_op)(grpc_exec_ctx
|
109
|
-
grpc_channel_element
|
109
|
+
void (*start_transport_op)(grpc_exec_ctx* exec_ctx,
|
110
|
+
grpc_channel_element* elem, grpc_transport_op* op);
|
110
111
|
|
111
112
|
/* sizeof(per call data) */
|
112
113
|
size_t sizeof_call_data;
|
@@ -119,21 +120,21 @@ typedef struct {
|
|
119
120
|
transport and is on the server. Most filters want to ignore this
|
120
121
|
argument.
|
121
122
|
Implementations may assume that elem->call_data is all zeros. */
|
122
|
-
grpc_error
|
123
|
-
grpc_call_element
|
124
|
-
const grpc_call_element_args
|
125
|
-
void (*set_pollset_or_pollset_set)(grpc_exec_ctx
|
126
|
-
grpc_call_element
|
127
|
-
grpc_polling_entity
|
123
|
+
grpc_error* (*init_call_elem)(grpc_exec_ctx* exec_ctx,
|
124
|
+
grpc_call_element* elem,
|
125
|
+
const grpc_call_element_args* args);
|
126
|
+
void (*set_pollset_or_pollset_set)(grpc_exec_ctx* exec_ctx,
|
127
|
+
grpc_call_element* elem,
|
128
|
+
grpc_polling_entity* pollent);
|
128
129
|
/* Destroy per call data.
|
129
130
|
The filter does not need to do any chaining.
|
130
131
|
The bottom filter of a stack will be passed a non-NULL pointer to
|
131
132
|
\a then_schedule_closure that should be passed to GRPC_CLOSURE_SCHED when
|
132
133
|
destruction is complete. \a final_info contains data about the completed
|
133
134
|
call, mainly for reporting purposes. */
|
134
|
-
void (*destroy_call_elem)(grpc_exec_ctx
|
135
|
-
const grpc_call_final_info
|
136
|
-
grpc_closure
|
135
|
+
void (*destroy_call_elem)(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
136
|
+
const grpc_call_final_info* final_info,
|
137
|
+
grpc_closure* then_schedule_closure);
|
137
138
|
|
138
139
|
/* sizeof(per channel data) */
|
139
140
|
size_t sizeof_channel_data;
|
@@ -144,36 +145,36 @@ typedef struct {
|
|
144
145
|
useful for asserting correct configuration by upper layer code.
|
145
146
|
The filter does not need to do any chaining.
|
146
147
|
Implementations may assume that elem->call_data is all zeros. */
|
147
|
-
grpc_error
|
148
|
-
grpc_channel_element
|
149
|
-
grpc_channel_element_args
|
148
|
+
grpc_error* (*init_channel_elem)(grpc_exec_ctx* exec_ctx,
|
149
|
+
grpc_channel_element* elem,
|
150
|
+
grpc_channel_element_args* args);
|
150
151
|
/* Destroy per channel data.
|
151
152
|
The filter does not need to do any chaining */
|
152
|
-
void (*destroy_channel_elem)(grpc_exec_ctx
|
153
|
-
grpc_channel_element
|
153
|
+
void (*destroy_channel_elem)(grpc_exec_ctx* exec_ctx,
|
154
|
+
grpc_channel_element* elem);
|
154
155
|
|
155
156
|
/* Implement grpc_channel_get_info() */
|
156
|
-
void (*get_channel_info)(grpc_exec_ctx
|
157
|
-
const grpc_channel_info
|
157
|
+
void (*get_channel_info)(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
|
158
|
+
const grpc_channel_info* channel_info);
|
158
159
|
|
159
160
|
/* The name of this filter */
|
160
|
-
const char
|
161
|
+
const char* name;
|
161
162
|
} grpc_channel_filter;
|
162
163
|
|
163
164
|
/* A channel_element tracks its filter and the filter requested memory within
|
164
165
|
a channel allocation */
|
165
166
|
struct grpc_channel_element {
|
166
|
-
const grpc_channel_filter
|
167
|
-
void
|
167
|
+
const grpc_channel_filter* filter;
|
168
|
+
void* channel_data;
|
168
169
|
};
|
169
170
|
|
170
171
|
/* A call_element tracks its filter, the filter requested memory within
|
171
172
|
a channel allocation, and the filter requested memory within a call
|
172
173
|
allocation */
|
173
174
|
struct grpc_call_element {
|
174
|
-
const grpc_channel_filter
|
175
|
-
void
|
176
|
-
void
|
175
|
+
const grpc_channel_filter* filter;
|
176
|
+
void* channel_data;
|
177
|
+
void* call_data;
|
177
178
|
};
|
178
179
|
|
179
180
|
/* A channel stack tracks a set of related filters for one channel, and
|
@@ -198,40 +199,40 @@ struct grpc_call_stack {
|
|
198
199
|
};
|
199
200
|
|
200
201
|
/* Get a channel element given a channel stack and its index */
|
201
|
-
grpc_channel_element
|
202
|
+
grpc_channel_element* grpc_channel_stack_element(grpc_channel_stack* stack,
|
202
203
|
size_t i);
|
203
204
|
/* Get the last channel element in a channel stack */
|
204
|
-
grpc_channel_element
|
205
|
-
grpc_channel_stack
|
205
|
+
grpc_channel_element* grpc_channel_stack_last_element(
|
206
|
+
grpc_channel_stack* stack);
|
206
207
|
/* Get a call stack element given a call stack and an index */
|
207
|
-
grpc_call_element
|
208
|
+
grpc_call_element* grpc_call_stack_element(grpc_call_stack* stack, size_t i);
|
208
209
|
|
209
210
|
/* Determine memory required for a channel stack containing a set of filters */
|
210
|
-
size_t grpc_channel_stack_size(const grpc_channel_filter
|
211
|
+
size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
|
211
212
|
size_t filter_count);
|
212
213
|
/* Initialize a channel stack given some filters */
|
213
|
-
grpc_error
|
214
|
-
grpc_exec_ctx
|
215
|
-
void
|
216
|
-
const grpc_channel_args
|
217
|
-
const char
|
214
|
+
grpc_error* grpc_channel_stack_init(
|
215
|
+
grpc_exec_ctx* exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
|
216
|
+
void* destroy_arg, const grpc_channel_filter** filters, size_t filter_count,
|
217
|
+
const grpc_channel_args* args, grpc_transport* optional_transport,
|
218
|
+
const char* name, grpc_channel_stack* stack);
|
218
219
|
/* Destroy a channel stack */
|
219
|
-
void grpc_channel_stack_destroy(grpc_exec_ctx
|
220
|
-
grpc_channel_stack
|
220
|
+
void grpc_channel_stack_destroy(grpc_exec_ctx* exec_ctx,
|
221
|
+
grpc_channel_stack* stack);
|
221
222
|
|
222
223
|
/* Initialize a call stack given a channel stack. transport_server_data is
|
223
224
|
expected to be NULL on a client, or an opaque transport owned pointer on the
|
224
225
|
server. */
|
225
|
-
grpc_error
|
226
|
-
grpc_channel_stack
|
226
|
+
grpc_error* grpc_call_stack_init(grpc_exec_ctx* exec_ctx,
|
227
|
+
grpc_channel_stack* channel_stack,
|
227
228
|
int initial_refs, grpc_iomgr_cb_func destroy,
|
228
|
-
void
|
229
|
-
const grpc_call_element_args
|
229
|
+
void* destroy_arg,
|
230
|
+
const grpc_call_element_args* elem_args);
|
230
231
|
/* Set a pollset or a pollset_set for a call stack: must occur before the first
|
231
232
|
* op is started */
|
232
|
-
void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx
|
233
|
-
grpc_call_stack
|
234
|
-
grpc_polling_entity
|
233
|
+
void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
|
234
|
+
grpc_call_stack* call_stack,
|
235
|
+
grpc_polling_entity* pollent);
|
235
236
|
|
236
237
|
#ifndef NDEBUG
|
237
238
|
#define GRPC_CALL_STACK_REF(call_stack, reason) \
|
@@ -254,41 +255,41 @@ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
|
|
254
255
|
#endif
|
255
256
|
|
256
257
|
/* Destroy a call stack */
|
257
|
-
void grpc_call_stack_destroy(grpc_exec_ctx
|
258
|
-
const grpc_call_final_info
|
259
|
-
grpc_closure
|
258
|
+
void grpc_call_stack_destroy(grpc_exec_ctx* exec_ctx, grpc_call_stack* stack,
|
259
|
+
const grpc_call_final_info* final_info,
|
260
|
+
grpc_closure* then_schedule_closure);
|
260
261
|
|
261
262
|
/* Ignore set pollset{_set} - used by filters if they don't care about pollsets
|
262
263
|
* at all. Does nothing. */
|
263
264
|
void grpc_call_stack_ignore_set_pollset_or_pollset_set(
|
264
|
-
grpc_exec_ctx
|
265
|
-
grpc_polling_entity
|
265
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
266
|
+
grpc_polling_entity* pollent);
|
266
267
|
/* Call the next operation in a call stack */
|
267
|
-
void grpc_call_next_op(grpc_exec_ctx
|
268
|
-
grpc_transport_stream_op_batch
|
268
|
+
void grpc_call_next_op(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
269
|
+
grpc_transport_stream_op_batch* op);
|
269
270
|
/* Call the next operation (depending on call directionality) in a channel
|
270
271
|
stack */
|
271
|
-
void grpc_channel_next_op(grpc_exec_ctx
|
272
|
-
grpc_transport_op
|
272
|
+
void grpc_channel_next_op(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
|
273
|
+
grpc_transport_op* op);
|
273
274
|
/* Pass through a request to get_channel_info() to the next child element */
|
274
|
-
void grpc_channel_next_get_info(grpc_exec_ctx
|
275
|
-
grpc_channel_element
|
276
|
-
const grpc_channel_info
|
275
|
+
void grpc_channel_next_get_info(grpc_exec_ctx* exec_ctx,
|
276
|
+
grpc_channel_element* elem,
|
277
|
+
const grpc_channel_info* channel_info);
|
277
278
|
|
278
279
|
/* Given the top element of a channel stack, get the channel stack itself */
|
279
|
-
grpc_channel_stack
|
280
|
-
grpc_channel_element
|
280
|
+
grpc_channel_stack* grpc_channel_stack_from_top_element(
|
281
|
+
grpc_channel_element* elem);
|
281
282
|
/* Given the top element of a call stack, get the call stack itself */
|
282
|
-
grpc_call_stack
|
283
|
+
grpc_call_stack* grpc_call_stack_from_top_element(grpc_call_element* elem);
|
283
284
|
|
284
|
-
void grpc_call_log_op(const char
|
285
|
-
grpc_call_element
|
286
|
-
grpc_transport_stream_op_batch
|
285
|
+
void grpc_call_log_op(const char* file, int line, gpr_log_severity severity,
|
286
|
+
grpc_call_element* elem,
|
287
|
+
grpc_transport_stream_op_batch* op);
|
287
288
|
|
288
|
-
extern
|
289
|
+
extern grpc_core::TraceFlag grpc_trace_channel;
|
289
290
|
|
290
291
|
#define GRPC_CALL_LOG_OP(sev, elem, op) \
|
291
|
-
if (
|
292
|
+
if (grpc_trace_channel.enabled()) grpc_call_log_op(sev, elem, op)
|
292
293
|
|
293
294
|
#ifdef __cplusplus
|
294
295
|
}
|