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
@@ -20,10 +20,18 @@
|
|
20
20
|
|
21
21
|
#include "src/core/lib/channel/channel_stack.h"
|
22
22
|
|
23
|
+
#ifdef __cplusplus
|
24
|
+
extern "C" {
|
25
|
+
#endif
|
26
|
+
|
23
27
|
/* Processes metadata on the client side for HTTP2 transports */
|
24
28
|
extern const grpc_channel_filter grpc_http_client_filter;
|
25
29
|
|
26
30
|
/* Channel arg to determine maximum size of payload eligable for GET request */
|
27
31
|
#define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get"
|
28
32
|
|
33
|
+
#ifdef __cplusplus
|
34
|
+
}
|
35
|
+
#endif
|
36
|
+
|
29
37
|
#endif /* GRPC_CORE_EXT_FILTERS_HTTP_CLIENT_HTTP_CLIENT_FILTER_H */
|
@@ -27,45 +27,44 @@
|
|
27
27
|
#include "src/core/lib/transport/transport_impl.h"
|
28
28
|
|
29
29
|
typedef struct {
|
30
|
-
const grpc_channel_filter
|
31
|
-
const char
|
30
|
+
const grpc_channel_filter* filter;
|
31
|
+
const char* control_channel_arg;
|
32
32
|
} optional_filter;
|
33
33
|
|
34
34
|
static optional_filter compress_filter = {
|
35
35
|
&grpc_message_compress_filter, GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION};
|
36
36
|
|
37
37
|
static bool is_building_http_like_transport(
|
38
|
-
grpc_channel_stack_builder
|
39
|
-
grpc_transport
|
40
|
-
return t !=
|
38
|
+
grpc_channel_stack_builder* builder) {
|
39
|
+
grpc_transport* t = grpc_channel_stack_builder_get_transport(builder);
|
40
|
+
return t != nullptr && strstr(t->vtable->name, "http");
|
41
41
|
}
|
42
42
|
|
43
|
-
static bool maybe_add_optional_filter(grpc_exec_ctx
|
44
|
-
grpc_channel_stack_builder
|
45
|
-
void
|
43
|
+
static bool maybe_add_optional_filter(grpc_exec_ctx* exec_ctx,
|
44
|
+
grpc_channel_stack_builder* builder,
|
45
|
+
void* arg) {
|
46
46
|
if (!is_building_http_like_transport(builder)) return true;
|
47
|
-
optional_filter
|
48
|
-
const grpc_channel_args
|
47
|
+
optional_filter* filtarg = (optional_filter*)arg;
|
48
|
+
const grpc_channel_args* channel_args =
|
49
49
|
grpc_channel_stack_builder_get_channel_arguments(builder);
|
50
50
|
bool enable = grpc_channel_arg_get_bool(
|
51
51
|
grpc_channel_args_find(channel_args, filtarg->control_channel_arg),
|
52
52
|
!grpc_channel_args_want_minimal_stack(channel_args));
|
53
53
|
return enable ? grpc_channel_stack_builder_prepend_filter(
|
54
|
-
builder, filtarg->filter,
|
54
|
+
builder, filtarg->filter, nullptr, nullptr)
|
55
55
|
: true;
|
56
56
|
}
|
57
57
|
|
58
|
-
static bool maybe_add_required_filter(grpc_exec_ctx
|
59
|
-
grpc_channel_stack_builder
|
60
|
-
void
|
58
|
+
static bool maybe_add_required_filter(grpc_exec_ctx* exec_ctx,
|
59
|
+
grpc_channel_stack_builder* builder,
|
60
|
+
void* arg) {
|
61
61
|
return is_building_http_like_transport(builder)
|
62
62
|
? grpc_channel_stack_builder_prepend_filter(
|
63
|
-
builder, (const grpc_channel_filter
|
63
|
+
builder, (const grpc_channel_filter*)arg, nullptr, nullptr)
|
64
64
|
: true;
|
65
65
|
}
|
66
66
|
|
67
|
-
void grpc_http_filters_init(void) {
|
68
|
-
grpc_register_tracer(&grpc_compression_trace);
|
67
|
+
extern "C" void grpc_http_filters_init(void) {
|
69
68
|
grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL,
|
70
69
|
GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
71
70
|
maybe_add_optional_filter, &compress_filter);
|
@@ -77,13 +76,13 @@ void grpc_http_filters_init(void) {
|
|
77
76
|
maybe_add_optional_filter, &compress_filter);
|
78
77
|
grpc_channel_init_register_stage(
|
79
78
|
GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
80
|
-
maybe_add_required_filter, (void
|
79
|
+
maybe_add_required_filter, (void*)&grpc_http_client_filter);
|
81
80
|
grpc_channel_init_register_stage(
|
82
81
|
GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
83
|
-
maybe_add_required_filter, (void
|
82
|
+
maybe_add_required_filter, (void*)&grpc_http_client_filter);
|
84
83
|
grpc_channel_init_register_stage(
|
85
84
|
GRPC_SERVER_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
86
|
-
maybe_add_required_filter, (void
|
85
|
+
maybe_add_required_filter, (void*)&grpc_http_server_filter);
|
87
86
|
}
|
88
87
|
|
89
|
-
void grpc_http_filters_shutdown(void) {}
|
88
|
+
extern "C" void grpc_http_filters_shutdown(void) {}
|
@@ -45,7 +45,7 @@ typedef enum {
|
|
45
45
|
} initial_metadata_state;
|
46
46
|
|
47
47
|
typedef struct call_data {
|
48
|
-
grpc_call_combiner
|
48
|
+
grpc_call_combiner* call_combiner;
|
49
49
|
grpc_linked_mdelem compression_algorithm_storage;
|
50
50
|
grpc_linked_mdelem stream_compression_algorithm_storage;
|
51
51
|
grpc_linked_mdelem accept_encoding_storage;
|
@@ -54,12 +54,12 @@ typedef struct call_data {
|
|
54
54
|
* metadata, or by the channel's default compression settings. */
|
55
55
|
grpc_compression_algorithm compression_algorithm;
|
56
56
|
initial_metadata_state send_initial_metadata_state;
|
57
|
-
grpc_error
|
57
|
+
grpc_error* cancel_error;
|
58
58
|
grpc_closure start_send_message_batch_in_call_combiner;
|
59
|
-
grpc_transport_stream_op_batch
|
59
|
+
grpc_transport_stream_op_batch* send_message_batch;
|
60
60
|
grpc_slice_buffer slices; /**< Buffers up input slices to be compressed */
|
61
61
|
grpc_slice_buffer_stream replacement_stream;
|
62
|
-
grpc_closure
|
62
|
+
grpc_closure* original_send_message_on_complete;
|
63
63
|
grpc_closure send_message_on_complete;
|
64
64
|
grpc_closure on_send_message_next_done;
|
65
65
|
} call_data;
|
@@ -80,10 +80,10 @@ typedef struct channel_data {
|
|
80
80
|
uint32_t supported_stream_compression_algorithms;
|
81
81
|
} channel_data;
|
82
82
|
|
83
|
-
static bool skip_compression(grpc_call_element
|
83
|
+
static bool skip_compression(grpc_call_element* elem, uint32_t flags,
|
84
84
|
bool has_compression_algorithm) {
|
85
|
-
call_data
|
86
|
-
channel_data
|
85
|
+
call_data* calld = (call_data*)elem->call_data;
|
86
|
+
channel_data* channeld = (channel_data*)elem->channel_data;
|
87
87
|
|
88
88
|
if (flags & (GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_INTERNAL_COMPRESS)) {
|
89
89
|
return true;
|
@@ -99,25 +99,25 @@ static bool skip_compression(grpc_call_element *elem, uint32_t flags,
|
|
99
99
|
}
|
100
100
|
|
101
101
|
/** Filter initial metadata */
|
102
|
-
static grpc_error
|
103
|
-
grpc_exec_ctx
|
104
|
-
grpc_metadata_batch
|
105
|
-
bool
|
106
|
-
static grpc_error
|
107
|
-
grpc_exec_ctx
|
108
|
-
grpc_metadata_batch
|
109
|
-
call_data
|
110
|
-
channel_data
|
102
|
+
static grpc_error* process_send_initial_metadata(
|
103
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
104
|
+
grpc_metadata_batch* initial_metadata,
|
105
|
+
bool* has_compression_algorithm) GRPC_MUST_USE_RESULT;
|
106
|
+
static grpc_error* process_send_initial_metadata(
|
107
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
108
|
+
grpc_metadata_batch* initial_metadata, bool* has_compression_algorithm) {
|
109
|
+
call_data* calld = (call_data*)elem->call_data;
|
110
|
+
channel_data* channeld = (channel_data*)elem->channel_data;
|
111
111
|
*has_compression_algorithm = false;
|
112
112
|
grpc_stream_compression_algorithm stream_compression_algorithm =
|
113
113
|
GRPC_STREAM_COMPRESS_NONE;
|
114
114
|
if (initial_metadata->idx.named.grpc_internal_stream_encoding_request !=
|
115
|
-
|
115
|
+
nullptr) {
|
116
116
|
grpc_mdelem md =
|
117
117
|
initial_metadata->idx.named.grpc_internal_stream_encoding_request->md;
|
118
118
|
if (!grpc_stream_compression_algorithm_parse(
|
119
119
|
GRPC_MDVALUE(md), &stream_compression_algorithm)) {
|
120
|
-
char
|
120
|
+
char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
|
121
121
|
gpr_log(GPR_ERROR,
|
122
122
|
"Invalid stream compression algorithm: '%s' (unknown). Ignoring.",
|
123
123
|
val);
|
@@ -126,7 +126,7 @@ static grpc_error *process_send_initial_metadata(
|
|
126
126
|
}
|
127
127
|
if (!GPR_BITGET(channeld->enabled_stream_compression_algorithms_bitset,
|
128
128
|
stream_compression_algorithm)) {
|
129
|
-
char
|
129
|
+
char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
|
130
130
|
gpr_log(
|
131
131
|
GPR_ERROR,
|
132
132
|
"Invalid stream compression algorithm: '%s' (previously disabled). "
|
@@ -141,18 +141,18 @@ static grpc_error *process_send_initial_metadata(
|
|
141
141
|
initial_metadata->idx.named.grpc_internal_stream_encoding_request);
|
142
142
|
/* Disable message-wise compression */
|
143
143
|
calld->compression_algorithm = GRPC_COMPRESS_NONE;
|
144
|
-
if (initial_metadata->idx.named.grpc_internal_encoding_request !=
|
144
|
+
if (initial_metadata->idx.named.grpc_internal_encoding_request != nullptr) {
|
145
145
|
grpc_metadata_batch_remove(
|
146
146
|
exec_ctx, initial_metadata,
|
147
147
|
initial_metadata->idx.named.grpc_internal_encoding_request);
|
148
148
|
}
|
149
149
|
} else if (initial_metadata->idx.named.grpc_internal_encoding_request !=
|
150
|
-
|
150
|
+
nullptr) {
|
151
151
|
grpc_mdelem md =
|
152
152
|
initial_metadata->idx.named.grpc_internal_encoding_request->md;
|
153
153
|
if (!grpc_compression_algorithm_parse(GRPC_MDVALUE(md),
|
154
154
|
&calld->compression_algorithm)) {
|
155
|
-
char
|
155
|
+
char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
|
156
156
|
gpr_log(GPR_ERROR,
|
157
157
|
"Invalid compression algorithm: '%s' (unknown). Ignoring.", val);
|
158
158
|
gpr_free(val);
|
@@ -177,7 +177,7 @@ static grpc_error *process_send_initial_metadata(
|
|
177
177
|
*has_compression_algorithm = true;
|
178
178
|
}
|
179
179
|
|
180
|
-
grpc_error
|
180
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
181
181
|
/* hint compression algorithm */
|
182
182
|
if (stream_compression_algorithm != GRPC_STREAM_COMPRESS_NONE) {
|
183
183
|
error = grpc_metadata_batch_add_tail(
|
@@ -211,30 +211,30 @@ static grpc_error *process_send_initial_metadata(
|
|
211
211
|
return error;
|
212
212
|
}
|
213
213
|
|
214
|
-
static void send_message_on_complete(grpc_exec_ctx
|
215
|
-
grpc_error
|
216
|
-
grpc_call_element
|
217
|
-
call_data
|
214
|
+
static void send_message_on_complete(grpc_exec_ctx* exec_ctx, void* arg,
|
215
|
+
grpc_error* error) {
|
216
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
217
|
+
call_data* calld = (call_data*)elem->call_data;
|
218
218
|
grpc_slice_buffer_reset_and_unref_internal(exec_ctx, &calld->slices);
|
219
219
|
GRPC_CLOSURE_RUN(exec_ctx, calld->original_send_message_on_complete,
|
220
220
|
GRPC_ERROR_REF(error));
|
221
221
|
}
|
222
222
|
|
223
|
-
static void send_message_batch_continue(grpc_exec_ctx
|
224
|
-
grpc_call_element
|
225
|
-
call_data
|
223
|
+
static void send_message_batch_continue(grpc_exec_ctx* exec_ctx,
|
224
|
+
grpc_call_element* elem) {
|
225
|
+
call_data* calld = (call_data*)elem->call_data;
|
226
226
|
// Note: The call to grpc_call_next_op() results in yielding the
|
227
227
|
// call combiner, so we need to clear calld->send_message_batch
|
228
228
|
// before we do that.
|
229
|
-
grpc_transport_stream_op_batch
|
229
|
+
grpc_transport_stream_op_batch* send_message_batch =
|
230
230
|
calld->send_message_batch;
|
231
|
-
calld->send_message_batch =
|
231
|
+
calld->send_message_batch = nullptr;
|
232
232
|
grpc_call_next_op(exec_ctx, elem, send_message_batch);
|
233
233
|
}
|
234
234
|
|
235
|
-
static void finish_send_message(grpc_exec_ctx
|
236
|
-
grpc_call_element
|
237
|
-
call_data
|
235
|
+
static void finish_send_message(grpc_exec_ctx* exec_ctx,
|
236
|
+
grpc_call_element* elem) {
|
237
|
+
call_data* calld = (call_data*)elem->call_data;
|
238
238
|
// Compress the data if appropriate.
|
239
239
|
grpc_slice_buffer tmp;
|
240
240
|
grpc_slice_buffer_init(&tmp);
|
@@ -243,22 +243,23 @@ static void finish_send_message(grpc_exec_ctx *exec_ctx,
|
|
243
243
|
bool did_compress = grpc_msg_compress(exec_ctx, calld->compression_algorithm,
|
244
244
|
&calld->slices, &tmp);
|
245
245
|
if (did_compress) {
|
246
|
-
if (
|
247
|
-
const char
|
246
|
+
if (grpc_compression_trace.enabled()) {
|
247
|
+
const char* algo_name;
|
248
248
|
const size_t before_size = calld->slices.length;
|
249
249
|
const size_t after_size = tmp.length;
|
250
250
|
const float savings_ratio = 1.0f - (float)after_size / (float)before_size;
|
251
251
|
GPR_ASSERT(grpc_compression_algorithm_name(calld->compression_algorithm,
|
252
252
|
&algo_name));
|
253
|
-
gpr_log(GPR_DEBUG,
|
254
|
-
|
253
|
+
gpr_log(GPR_DEBUG,
|
254
|
+
"Compressed[%s] %" PRIuPTR " bytes vs. %" PRIuPTR
|
255
|
+
" bytes (%.2f%% savings)",
|
255
256
|
algo_name, before_size, after_size, 100 * savings_ratio);
|
256
257
|
}
|
257
258
|
grpc_slice_buffer_swap(&calld->slices, &tmp);
|
258
259
|
send_flags |= GRPC_WRITE_INTERNAL_COMPRESS;
|
259
260
|
} else {
|
260
|
-
if (
|
261
|
-
const char
|
261
|
+
if (grpc_compression_trace.enabled()) {
|
262
|
+
const char* algo_name;
|
262
263
|
GPR_ASSERT(grpc_compression_algorithm_name(calld->compression_algorithm,
|
263
264
|
&algo_name));
|
264
265
|
gpr_log(GPR_DEBUG,
|
@@ -282,23 +283,23 @@ static void finish_send_message(grpc_exec_ctx *exec_ctx,
|
|
282
283
|
send_message_batch_continue(exec_ctx, elem);
|
283
284
|
}
|
284
285
|
|
285
|
-
static void fail_send_message_batch_in_call_combiner(grpc_exec_ctx
|
286
|
-
void
|
287
|
-
grpc_error
|
288
|
-
call_data
|
289
|
-
if (calld->send_message_batch !=
|
286
|
+
static void fail_send_message_batch_in_call_combiner(grpc_exec_ctx* exec_ctx,
|
287
|
+
void* arg,
|
288
|
+
grpc_error* error) {
|
289
|
+
call_data* calld = (call_data*)arg;
|
290
|
+
if (calld->send_message_batch != nullptr) {
|
290
291
|
grpc_transport_stream_op_batch_finish_with_failure(
|
291
292
|
exec_ctx, calld->send_message_batch, GRPC_ERROR_REF(error),
|
292
293
|
calld->call_combiner);
|
293
|
-
calld->send_message_batch =
|
294
|
+
calld->send_message_batch = nullptr;
|
294
295
|
}
|
295
296
|
}
|
296
297
|
|
297
298
|
// Pulls a slice from the send_message byte stream and adds it to calld->slices.
|
298
|
-
static grpc_error
|
299
|
-
call_data
|
299
|
+
static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
|
300
|
+
call_data* calld) {
|
300
301
|
grpc_slice incoming_slice;
|
301
|
-
grpc_error
|
302
|
+
grpc_error* error = grpc_byte_stream_pull(
|
302
303
|
exec_ctx, calld->send_message_batch->payload->send_message.send_message,
|
303
304
|
&incoming_slice);
|
304
305
|
if (error == GRPC_ERROR_NONE) {
|
@@ -311,13 +312,13 @@ static grpc_error *pull_slice_from_send_message(grpc_exec_ctx *exec_ctx,
|
|
311
312
|
// If all data has been read, invokes finish_send_message(). Otherwise,
|
312
313
|
// an async call to grpc_byte_stream_next() has been started, which will
|
313
314
|
// eventually result in calling on_send_message_next_done().
|
314
|
-
static void continue_reading_send_message(grpc_exec_ctx
|
315
|
-
grpc_call_element
|
316
|
-
call_data
|
315
|
+
static void continue_reading_send_message(grpc_exec_ctx* exec_ctx,
|
316
|
+
grpc_call_element* elem) {
|
317
|
+
call_data* calld = (call_data*)elem->call_data;
|
317
318
|
while (grpc_byte_stream_next(
|
318
319
|
exec_ctx, calld->send_message_batch->payload->send_message.send_message,
|
319
320
|
~(size_t)0, &calld->on_send_message_next_done)) {
|
320
|
-
grpc_error
|
321
|
+
grpc_error* error = pull_slice_from_send_message(exec_ctx, calld);
|
321
322
|
if (error != GRPC_ERROR_NONE) {
|
322
323
|
// Closure callback; does not take ownership of error.
|
323
324
|
fail_send_message_batch_in_call_combiner(exec_ctx, calld, error);
|
@@ -333,10 +334,10 @@ static void continue_reading_send_message(grpc_exec_ctx *exec_ctx,
|
|
333
334
|
}
|
334
335
|
|
335
336
|
// Async callback for grpc_byte_stream_next().
|
336
|
-
static void on_send_message_next_done(grpc_exec_ctx
|
337
|
-
grpc_error
|
338
|
-
grpc_call_element
|
339
|
-
call_data
|
337
|
+
static void on_send_message_next_done(grpc_exec_ctx* exec_ctx, void* arg,
|
338
|
+
grpc_error* error) {
|
339
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
340
|
+
call_data* calld = (call_data*)elem->call_data;
|
340
341
|
if (error != GRPC_ERROR_NONE) {
|
341
342
|
// Closure callback; does not take ownership of error.
|
342
343
|
fail_send_message_batch_in_call_combiner(exec_ctx, calld, error);
|
@@ -357,10 +358,10 @@ static void on_send_message_next_done(grpc_exec_ctx *exec_ctx, void *arg,
|
|
357
358
|
}
|
358
359
|
}
|
359
360
|
|
360
|
-
static void start_send_message_batch(grpc_exec_ctx
|
361
|
-
grpc_error
|
362
|
-
grpc_call_element
|
363
|
-
call_data
|
361
|
+
static void start_send_message_batch(grpc_exec_ctx* exec_ctx, void* arg,
|
362
|
+
grpc_error* unused) {
|
363
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
364
|
+
call_data* calld = (call_data*)elem->call_data;
|
364
365
|
if (skip_compression(
|
365
366
|
elem,
|
366
367
|
calld->send_message_batch->payload->send_message.send_message->flags,
|
@@ -372,16 +373,16 @@ static void start_send_message_batch(grpc_exec_ctx *exec_ctx, void *arg,
|
|
372
373
|
}
|
373
374
|
|
374
375
|
static void compress_start_transport_stream_op_batch(
|
375
|
-
grpc_exec_ctx
|
376
|
-
grpc_transport_stream_op_batch
|
377
|
-
call_data
|
376
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
377
|
+
grpc_transport_stream_op_batch* batch) {
|
378
|
+
call_data* calld = (call_data*)elem->call_data;
|
378
379
|
GPR_TIMER_BEGIN("compress_start_transport_stream_op_batch", 0);
|
379
380
|
// Handle cancel_stream.
|
380
381
|
if (batch->cancel_stream) {
|
381
382
|
GRPC_ERROR_UNREF(calld->cancel_error);
|
382
383
|
calld->cancel_error =
|
383
384
|
GRPC_ERROR_REF(batch->payload->cancel_stream.cancel_error);
|
384
|
-
if (calld->send_message_batch !=
|
385
|
+
if (calld->send_message_batch != nullptr) {
|
385
386
|
if (calld->send_initial_metadata_state == INITIAL_METADATA_UNSEEN) {
|
386
387
|
GRPC_CALL_COMBINER_START(
|
387
388
|
exec_ctx, calld->call_combiner,
|
@@ -405,7 +406,7 @@ static void compress_start_transport_stream_op_batch(
|
|
405
406
|
if (batch->send_initial_metadata) {
|
406
407
|
GPR_ASSERT(calld->send_initial_metadata_state == INITIAL_METADATA_UNSEEN);
|
407
408
|
bool has_compression_algorithm;
|
408
|
-
grpc_error
|
409
|
+
grpc_error* error = process_send_initial_metadata(
|
409
410
|
exec_ctx, elem,
|
410
411
|
batch->payload->send_initial_metadata.send_initial_metadata,
|
411
412
|
&has_compression_algorithm);
|
@@ -422,7 +423,7 @@ static void compress_start_transport_stream_op_batch(
|
|
422
423
|
// for this, since we can't send two batches down while holding the
|
423
424
|
// call combiner, since the connected_channel filter (at the bottom of
|
424
425
|
// the call stack) will release the call combiner for each batch it sees.
|
425
|
-
if (calld->send_message_batch !=
|
426
|
+
if (calld->send_message_batch != nullptr) {
|
426
427
|
GRPC_CALL_COMBINER_START(
|
427
428
|
exec_ctx, calld->call_combiner,
|
428
429
|
&calld->start_send_message_batch_in_call_combiner, GRPC_ERROR_NONE,
|
@@ -431,7 +432,7 @@ static void compress_start_transport_stream_op_batch(
|
|
431
432
|
}
|
432
433
|
// Handle send_message.
|
433
434
|
if (batch->send_message) {
|
434
|
-
GPR_ASSERT(calld->send_message_batch ==
|
435
|
+
GPR_ASSERT(calld->send_message_batch == nullptr);
|
435
436
|
calld->send_message_batch = batch;
|
436
437
|
// If we have not yet seen send_initial_metadata, then we have to
|
437
438
|
// wait. We save the batch in calld and then drop the call
|
@@ -453,10 +454,10 @@ done:
|
|
453
454
|
}
|
454
455
|
|
455
456
|
/* Constructor for call_data */
|
456
|
-
static grpc_error
|
457
|
-
grpc_call_element
|
458
|
-
const grpc_call_element_args
|
459
|
-
call_data
|
457
|
+
static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
|
458
|
+
grpc_call_element* elem,
|
459
|
+
const grpc_call_element_args* args) {
|
460
|
+
call_data* calld = (call_data*)elem->call_data;
|
460
461
|
calld->call_combiner = args->call_combiner;
|
461
462
|
calld->cancel_error = GRPC_ERROR_NONE;
|
462
463
|
grpc_slice_buffer_init(&calld->slices);
|
@@ -470,19 +471,19 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx,
|
|
470
471
|
}
|
471
472
|
|
472
473
|
/* Destructor for call_data */
|
473
|
-
static void destroy_call_elem(grpc_exec_ctx
|
474
|
-
const grpc_call_final_info
|
475
|
-
grpc_closure
|
476
|
-
call_data
|
474
|
+
static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
475
|
+
const grpc_call_final_info* final_info,
|
476
|
+
grpc_closure* ignored) {
|
477
|
+
call_data* calld = (call_data*)elem->call_data;
|
477
478
|
grpc_slice_buffer_destroy_internal(exec_ctx, &calld->slices);
|
478
479
|
GRPC_ERROR_UNREF(calld->cancel_error);
|
479
480
|
}
|
480
481
|
|
481
482
|
/* Constructor for channel_data */
|
482
|
-
static grpc_error
|
483
|
-
grpc_channel_element
|
484
|
-
grpc_channel_element_args
|
485
|
-
channel_data
|
483
|
+
static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
|
484
|
+
grpc_channel_element* elem,
|
485
|
+
grpc_channel_element_args* args) {
|
486
|
+
channel_data* channeld = (channel_data*)elem->channel_data;
|
486
487
|
|
487
488
|
/* Configuration for message compression */
|
488
489
|
channeld->enabled_algorithms_bitset =
|
@@ -530,8 +531,8 @@ static grpc_error *init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|
530
531
|
}
|
531
532
|
|
532
533
|
/* Destructor for channel data */
|
533
|
-
static void destroy_channel_elem(grpc_exec_ctx
|
534
|
-
grpc_channel_element
|
534
|
+
static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
|
535
|
+
grpc_channel_element* elem) {}
|
535
536
|
|
536
537
|
const grpc_channel_filter grpc_message_compress_filter = {
|
537
538
|
compress_start_transport_stream_op_batch,
|