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
@@ -25,9 +25,7 @@
|
|
25
25
|
|
26
26
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
27
27
|
|
28
|
-
|
29
|
-
extern grpc_tracer_flag grpc_trace_metadata;
|
30
|
-
#endif
|
28
|
+
extern grpc_core::DebugOnlyTraceFlag grpc_trace_metadata;
|
31
29
|
|
32
30
|
#ifdef __cplusplus
|
33
31
|
extern "C" {
|
@@ -98,56 +96,60 @@ struct grpc_mdelem {
|
|
98
96
|
uintptr_t payload;
|
99
97
|
};
|
100
98
|
|
101
|
-
#define GRPC_MDELEM_DATA(md)
|
102
|
-
((grpc_mdelem_data *)((md).payload & ~(uintptr_t)3))
|
99
|
+
#define GRPC_MDELEM_DATA(md) ((grpc_mdelem_data*)((md).payload & ~(uintptr_t)3))
|
103
100
|
#define GRPC_MDELEM_STORAGE(md) \
|
104
101
|
((grpc_mdelem_data_storage)((md).payload & (uintptr_t)3))
|
102
|
+
#ifdef __cplusplus
|
103
|
+
#define GRPC_MAKE_MDELEM(data, storage) \
|
104
|
+
(grpc_mdelem{((uintptr_t)(data)) | ((uintptr_t)storage)})
|
105
|
+
#else
|
105
106
|
#define GRPC_MAKE_MDELEM(data, storage) \
|
106
107
|
((grpc_mdelem){((uintptr_t)(data)) | ((uintptr_t)storage)})
|
108
|
+
#endif
|
107
109
|
#define GRPC_MDELEM_IS_INTERNED(md) \
|
108
110
|
((grpc_mdelem_data_storage)((md).payload & \
|
109
111
|
(uintptr_t)GRPC_MDELEM_STORAGE_INTERNED_BIT))
|
110
112
|
|
111
113
|
/* Unrefs the slices. */
|
112
|
-
grpc_mdelem grpc_mdelem_from_slices(grpc_exec_ctx
|
114
|
+
grpc_mdelem grpc_mdelem_from_slices(grpc_exec_ctx* exec_ctx, grpc_slice key,
|
113
115
|
grpc_slice value);
|
114
116
|
|
115
117
|
/* Cheaply convert a grpc_metadata to a grpc_mdelem; may use the grpc_metadata
|
116
118
|
object as backing storage (so lifetimes should align) */
|
117
|
-
grpc_mdelem grpc_mdelem_from_grpc_metadata(grpc_exec_ctx
|
118
|
-
grpc_metadata
|
119
|
+
grpc_mdelem grpc_mdelem_from_grpc_metadata(grpc_exec_ctx* exec_ctx,
|
120
|
+
grpc_metadata* metadata);
|
119
121
|
|
120
122
|
/* Does not unref the slices; if a new non-interned mdelem is needed, allocates
|
121
123
|
one if compatible_external_backing_store is NULL, or uses
|
122
124
|
compatible_external_backing_store if it is non-NULL (in which case it's the
|
123
125
|
users responsibility to ensure that it outlives usage) */
|
124
126
|
grpc_mdelem grpc_mdelem_create(
|
125
|
-
grpc_exec_ctx
|
126
|
-
grpc_mdelem_data
|
127
|
+
grpc_exec_ctx* exec_ctx, grpc_slice key, grpc_slice value,
|
128
|
+
grpc_mdelem_data* compatible_external_backing_store);
|
127
129
|
|
128
130
|
bool grpc_mdelem_eq(grpc_mdelem a, grpc_mdelem b);
|
129
131
|
|
130
|
-
size_t grpc_mdelem_get_size_in_hpack_table(grpc_mdelem elem
|
132
|
+
size_t grpc_mdelem_get_size_in_hpack_table(grpc_mdelem elem,
|
133
|
+
bool use_true_binary_metadata);
|
131
134
|
|
132
135
|
/* Mutator and accessor for grpc_mdelem user data. The destructor function
|
133
136
|
is used as a type tag and is checked during user_data fetch. */
|
134
|
-
void
|
135
|
-
|
136
|
-
void
|
137
|
-
void *user_data);
|
137
|
+
void* grpc_mdelem_get_user_data(grpc_mdelem md, void (*if_destroy_func)(void*));
|
138
|
+
void* grpc_mdelem_set_user_data(grpc_mdelem md, void (*destroy_func)(void*),
|
139
|
+
void* user_data);
|
138
140
|
|
139
141
|
#ifndef NDEBUG
|
140
142
|
#define GRPC_MDELEM_REF(s) grpc_mdelem_ref((s), __FILE__, __LINE__)
|
141
143
|
#define GRPC_MDELEM_UNREF(exec_ctx, s) \
|
142
144
|
grpc_mdelem_unref((exec_ctx), (s), __FILE__, __LINE__)
|
143
|
-
grpc_mdelem grpc_mdelem_ref(grpc_mdelem md, const char
|
144
|
-
void grpc_mdelem_unref(grpc_exec_ctx
|
145
|
-
const char
|
145
|
+
grpc_mdelem grpc_mdelem_ref(grpc_mdelem md, const char* file, int line);
|
146
|
+
void grpc_mdelem_unref(grpc_exec_ctx* exec_ctx, grpc_mdelem md,
|
147
|
+
const char* file, int line);
|
146
148
|
#else
|
147
149
|
#define GRPC_MDELEM_REF(s) grpc_mdelem_ref((s))
|
148
150
|
#define GRPC_MDELEM_UNREF(exec_ctx, s) grpc_mdelem_unref((exec_ctx), (s))
|
149
151
|
grpc_mdelem grpc_mdelem_ref(grpc_mdelem md);
|
150
|
-
void grpc_mdelem_unref(grpc_exec_ctx
|
152
|
+
void grpc_mdelem_unref(grpc_exec_ctx* exec_ctx, grpc_mdelem md);
|
151
153
|
#endif
|
152
154
|
|
153
155
|
#define GRPC_MDKEY(md) (GRPC_MDELEM_DATA(md)->key)
|
@@ -164,7 +166,7 @@ void grpc_mdelem_unref(grpc_exec_ctx *exec_ctx, grpc_mdelem md);
|
|
164
166
|
#define GRPC_MDSTR_KV_HASH(k_hash, v_hash) (GPR_ROTL((k_hash), 2) ^ (v_hash))
|
165
167
|
|
166
168
|
void grpc_mdctx_global_init(void);
|
167
|
-
void grpc_mdctx_global_shutdown(grpc_exec_ctx
|
169
|
+
void grpc_mdctx_global_shutdown(grpc_exec_ctx* exec_ctx);
|
168
170
|
|
169
171
|
#ifdef __cplusplus
|
170
172
|
}
|
@@ -28,21 +28,21 @@
|
|
28
28
|
#include "src/core/lib/slice/slice_internal.h"
|
29
29
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
30
30
|
|
31
|
-
static void assert_valid_list(grpc_mdelem_list
|
31
|
+
static void assert_valid_list(grpc_mdelem_list* list) {
|
32
32
|
#ifndef NDEBUG
|
33
|
-
grpc_linked_mdelem
|
33
|
+
grpc_linked_mdelem* l;
|
34
34
|
|
35
|
-
GPR_ASSERT((list->head ==
|
35
|
+
GPR_ASSERT((list->head == nullptr) == (list->tail == nullptr));
|
36
36
|
if (!list->head) return;
|
37
|
-
GPR_ASSERT(list->head->prev ==
|
38
|
-
GPR_ASSERT(list->tail->next ==
|
39
|
-
GPR_ASSERT((list->head == list->tail) == (list->head->next ==
|
37
|
+
GPR_ASSERT(list->head->prev == nullptr);
|
38
|
+
GPR_ASSERT(list->tail->next == nullptr);
|
39
|
+
GPR_ASSERT((list->head == list->tail) == (list->head->next == nullptr));
|
40
40
|
|
41
41
|
size_t verified_count = 0;
|
42
42
|
for (l = list->head; l; l = l->next) {
|
43
43
|
GPR_ASSERT(!GRPC_MDISNULL(l->md));
|
44
|
-
GPR_ASSERT((l->prev ==
|
45
|
-
GPR_ASSERT((l->next ==
|
44
|
+
GPR_ASSERT((l->prev == nullptr) == (l == list->head));
|
45
|
+
GPR_ASSERT((l->next == nullptr) == (l == list->tail));
|
46
46
|
if (l->next) GPR_ASSERT(l->next->prev == l);
|
47
47
|
if (l->prev) GPR_ASSERT(l->prev->next == l);
|
48
48
|
verified_count++;
|
@@ -51,10 +51,10 @@ static void assert_valid_list(grpc_mdelem_list *list) {
|
|
51
51
|
#endif /* NDEBUG */
|
52
52
|
}
|
53
53
|
|
54
|
-
static void assert_valid_callouts(grpc_exec_ctx
|
55
|
-
grpc_metadata_batch
|
54
|
+
static void assert_valid_callouts(grpc_exec_ctx* exec_ctx,
|
55
|
+
grpc_metadata_batch* batch) {
|
56
56
|
#ifndef NDEBUG
|
57
|
-
for (grpc_linked_mdelem
|
57
|
+
for (grpc_linked_mdelem* l = batch->list.head; l != nullptr; l = l->next) {
|
58
58
|
grpc_slice key_interned = grpc_slice_intern(GRPC_MDKEY(l->md));
|
59
59
|
grpc_metadata_batch_callouts_index callout_idx =
|
60
60
|
GRPC_BATCH_INDEX_OF(key_interned);
|
@@ -67,44 +67,44 @@ static void assert_valid_callouts(grpc_exec_ctx *exec_ctx,
|
|
67
67
|
}
|
68
68
|
|
69
69
|
#ifndef NDEBUG
|
70
|
-
void grpc_metadata_batch_assert_ok(grpc_metadata_batch
|
70
|
+
void grpc_metadata_batch_assert_ok(grpc_metadata_batch* batch) {
|
71
71
|
assert_valid_list(&batch->list);
|
72
72
|
}
|
73
73
|
#endif /* NDEBUG */
|
74
74
|
|
75
|
-
void grpc_metadata_batch_init(grpc_metadata_batch
|
75
|
+
void grpc_metadata_batch_init(grpc_metadata_batch* batch) {
|
76
76
|
memset(batch, 0, sizeof(*batch));
|
77
|
-
batch->deadline =
|
77
|
+
batch->deadline = GRPC_MILLIS_INF_FUTURE;
|
78
78
|
}
|
79
79
|
|
80
|
-
void grpc_metadata_batch_destroy(grpc_exec_ctx
|
81
|
-
grpc_metadata_batch
|
82
|
-
grpc_linked_mdelem
|
80
|
+
void grpc_metadata_batch_destroy(grpc_exec_ctx* exec_ctx,
|
81
|
+
grpc_metadata_batch* batch) {
|
82
|
+
grpc_linked_mdelem* l;
|
83
83
|
for (l = batch->list.head; l; l = l->next) {
|
84
84
|
GRPC_MDELEM_UNREF(exec_ctx, l->md);
|
85
85
|
}
|
86
86
|
}
|
87
87
|
|
88
|
-
grpc_error
|
89
|
-
grpc_error
|
88
|
+
grpc_error* grpc_attach_md_to_error(grpc_error* src, grpc_mdelem md) {
|
89
|
+
grpc_error* out = grpc_error_set_str(
|
90
90
|
grpc_error_set_str(src, GRPC_ERROR_STR_KEY,
|
91
91
|
grpc_slice_ref_internal(GRPC_MDKEY(md))),
|
92
92
|
GRPC_ERROR_STR_VALUE, grpc_slice_ref_internal(GRPC_MDVALUE(md)));
|
93
93
|
return out;
|
94
94
|
}
|
95
95
|
|
96
|
-
static grpc_error
|
97
|
-
grpc_linked_mdelem
|
96
|
+
static grpc_error* maybe_link_callout(grpc_metadata_batch* batch,
|
97
|
+
grpc_linked_mdelem* storage)
|
98
98
|
GRPC_MUST_USE_RESULT;
|
99
99
|
|
100
|
-
static grpc_error
|
101
|
-
grpc_linked_mdelem
|
100
|
+
static grpc_error* maybe_link_callout(grpc_metadata_batch* batch,
|
101
|
+
grpc_linked_mdelem* storage) {
|
102
102
|
grpc_metadata_batch_callouts_index idx =
|
103
103
|
GRPC_BATCH_INDEX_OF(GRPC_MDKEY(storage->md));
|
104
104
|
if (idx == GRPC_BATCH_CALLOUTS_COUNT) {
|
105
105
|
return GRPC_ERROR_NONE;
|
106
106
|
}
|
107
|
-
if (batch->idx.array[idx] ==
|
107
|
+
if (batch->idx.array[idx] == nullptr) {
|
108
108
|
if (grpc_static_callout_is_default[idx]) ++batch->list.default_count;
|
109
109
|
batch->idx.array[idx] = storage;
|
110
110
|
return GRPC_ERROR_NONE;
|
@@ -114,33 +114,33 @@ static grpc_error *maybe_link_callout(grpc_metadata_batch *batch,
|
|
114
114
|
storage->md);
|
115
115
|
}
|
116
116
|
|
117
|
-
static void maybe_unlink_callout(grpc_metadata_batch
|
118
|
-
grpc_linked_mdelem
|
117
|
+
static void maybe_unlink_callout(grpc_metadata_batch* batch,
|
118
|
+
grpc_linked_mdelem* storage) {
|
119
119
|
grpc_metadata_batch_callouts_index idx =
|
120
120
|
GRPC_BATCH_INDEX_OF(GRPC_MDKEY(storage->md));
|
121
121
|
if (idx == GRPC_BATCH_CALLOUTS_COUNT) {
|
122
122
|
return;
|
123
123
|
}
|
124
124
|
if (grpc_static_callout_is_default[idx]) --batch->list.default_count;
|
125
|
-
GPR_ASSERT(batch->idx.array[idx] !=
|
126
|
-
batch->idx.array[idx] =
|
125
|
+
GPR_ASSERT(batch->idx.array[idx] != nullptr);
|
126
|
+
batch->idx.array[idx] = nullptr;
|
127
127
|
}
|
128
128
|
|
129
|
-
grpc_error
|
130
|
-
grpc_metadata_batch
|
131
|
-
grpc_linked_mdelem
|
129
|
+
grpc_error* grpc_metadata_batch_add_head(grpc_exec_ctx* exec_ctx,
|
130
|
+
grpc_metadata_batch* batch,
|
131
|
+
grpc_linked_mdelem* storage,
|
132
132
|
grpc_mdelem elem_to_add) {
|
133
133
|
GPR_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
134
134
|
storage->md = elem_to_add;
|
135
135
|
return grpc_metadata_batch_link_head(exec_ctx, batch, storage);
|
136
136
|
}
|
137
137
|
|
138
|
-
static void link_head(grpc_mdelem_list
|
138
|
+
static void link_head(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
|
139
139
|
assert_valid_list(list);
|
140
140
|
GPR_ASSERT(!GRPC_MDISNULL(storage->md));
|
141
|
-
storage->prev =
|
141
|
+
storage->prev = nullptr;
|
142
142
|
storage->next = list->head;
|
143
|
-
if (list->head !=
|
143
|
+
if (list->head != nullptr) {
|
144
144
|
list->head->prev = storage;
|
145
145
|
} else {
|
146
146
|
list->tail = storage;
|
@@ -150,11 +150,11 @@ static void link_head(grpc_mdelem_list *list, grpc_linked_mdelem *storage) {
|
|
150
150
|
assert_valid_list(list);
|
151
151
|
}
|
152
152
|
|
153
|
-
grpc_error
|
154
|
-
grpc_metadata_batch
|
155
|
-
grpc_linked_mdelem
|
153
|
+
grpc_error* grpc_metadata_batch_link_head(grpc_exec_ctx* exec_ctx,
|
154
|
+
grpc_metadata_batch* batch,
|
155
|
+
grpc_linked_mdelem* storage) {
|
156
156
|
assert_valid_callouts(exec_ctx, batch);
|
157
|
-
grpc_error
|
157
|
+
grpc_error* err = maybe_link_callout(batch, storage);
|
158
158
|
if (err != GRPC_ERROR_NONE) {
|
159
159
|
assert_valid_callouts(exec_ctx, batch);
|
160
160
|
return err;
|
@@ -164,22 +164,22 @@ grpc_error *grpc_metadata_batch_link_head(grpc_exec_ctx *exec_ctx,
|
|
164
164
|
return GRPC_ERROR_NONE;
|
165
165
|
}
|
166
166
|
|
167
|
-
grpc_error
|
168
|
-
grpc_metadata_batch
|
169
|
-
grpc_linked_mdelem
|
167
|
+
grpc_error* grpc_metadata_batch_add_tail(grpc_exec_ctx* exec_ctx,
|
168
|
+
grpc_metadata_batch* batch,
|
169
|
+
grpc_linked_mdelem* storage,
|
170
170
|
grpc_mdelem elem_to_add) {
|
171
171
|
GPR_ASSERT(!GRPC_MDISNULL(elem_to_add));
|
172
172
|
storage->md = elem_to_add;
|
173
173
|
return grpc_metadata_batch_link_tail(exec_ctx, batch, storage);
|
174
174
|
}
|
175
175
|
|
176
|
-
static void link_tail(grpc_mdelem_list
|
176
|
+
static void link_tail(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
|
177
177
|
assert_valid_list(list);
|
178
178
|
GPR_ASSERT(!GRPC_MDISNULL(storage->md));
|
179
179
|
storage->prev = list->tail;
|
180
|
-
storage->next =
|
181
|
-
storage->reserved =
|
182
|
-
if (list->tail !=
|
180
|
+
storage->next = nullptr;
|
181
|
+
storage->reserved = nullptr;
|
182
|
+
if (list->tail != nullptr) {
|
183
183
|
list->tail->next = storage;
|
184
184
|
} else {
|
185
185
|
list->head = storage;
|
@@ -189,11 +189,11 @@ static void link_tail(grpc_mdelem_list *list, grpc_linked_mdelem *storage) {
|
|
189
189
|
assert_valid_list(list);
|
190
190
|
}
|
191
191
|
|
192
|
-
grpc_error
|
193
|
-
grpc_metadata_batch
|
194
|
-
grpc_linked_mdelem
|
192
|
+
grpc_error* grpc_metadata_batch_link_tail(grpc_exec_ctx* exec_ctx,
|
193
|
+
grpc_metadata_batch* batch,
|
194
|
+
grpc_linked_mdelem* storage) {
|
195
195
|
assert_valid_callouts(exec_ctx, batch);
|
196
|
-
grpc_error
|
196
|
+
grpc_error* err = maybe_link_callout(batch, storage);
|
197
197
|
if (err != GRPC_ERROR_NONE) {
|
198
198
|
assert_valid_callouts(exec_ctx, batch);
|
199
199
|
return err;
|
@@ -203,15 +203,15 @@ grpc_error *grpc_metadata_batch_link_tail(grpc_exec_ctx *exec_ctx,
|
|
203
203
|
return GRPC_ERROR_NONE;
|
204
204
|
}
|
205
205
|
|
206
|
-
static void unlink_storage(grpc_mdelem_list
|
207
|
-
grpc_linked_mdelem
|
206
|
+
static void unlink_storage(grpc_mdelem_list* list,
|
207
|
+
grpc_linked_mdelem* storage) {
|
208
208
|
assert_valid_list(list);
|
209
|
-
if (storage->prev !=
|
209
|
+
if (storage->prev != nullptr) {
|
210
210
|
storage->prev->next = storage->next;
|
211
211
|
} else {
|
212
212
|
list->head = storage->next;
|
213
213
|
}
|
214
|
-
if (storage->next !=
|
214
|
+
if (storage->next != nullptr) {
|
215
215
|
storage->next->prev = storage->prev;
|
216
216
|
} else {
|
217
217
|
list->tail = storage->prev;
|
@@ -220,9 +220,9 @@ static void unlink_storage(grpc_mdelem_list *list,
|
|
220
220
|
assert_valid_list(list);
|
221
221
|
}
|
222
222
|
|
223
|
-
void grpc_metadata_batch_remove(grpc_exec_ctx
|
224
|
-
grpc_metadata_batch
|
225
|
-
grpc_linked_mdelem
|
223
|
+
void grpc_metadata_batch_remove(grpc_exec_ctx* exec_ctx,
|
224
|
+
grpc_metadata_batch* batch,
|
225
|
+
grpc_linked_mdelem* storage) {
|
226
226
|
assert_valid_callouts(exec_ctx, batch);
|
227
227
|
maybe_unlink_callout(batch, storage);
|
228
228
|
unlink_storage(&batch->list, storage);
|
@@ -230,8 +230,8 @@ void grpc_metadata_batch_remove(grpc_exec_ctx *exec_ctx,
|
|
230
230
|
assert_valid_callouts(exec_ctx, batch);
|
231
231
|
}
|
232
232
|
|
233
|
-
void grpc_metadata_batch_set_value(grpc_exec_ctx
|
234
|
-
grpc_linked_mdelem
|
233
|
+
void grpc_metadata_batch_set_value(grpc_exec_ctx* exec_ctx,
|
234
|
+
grpc_linked_mdelem* storage,
|
235
235
|
grpc_slice value) {
|
236
236
|
grpc_mdelem old_mdelem = storage->md;
|
237
237
|
grpc_mdelem new_mdelem = grpc_mdelem_from_slices(
|
@@ -240,12 +240,12 @@ void grpc_metadata_batch_set_value(grpc_exec_ctx *exec_ctx,
|
|
240
240
|
GRPC_MDELEM_UNREF(exec_ctx, old_mdelem);
|
241
241
|
}
|
242
242
|
|
243
|
-
grpc_error
|
244
|
-
grpc_metadata_batch
|
245
|
-
grpc_linked_mdelem
|
243
|
+
grpc_error* grpc_metadata_batch_substitute(grpc_exec_ctx* exec_ctx,
|
244
|
+
grpc_metadata_batch* batch,
|
245
|
+
grpc_linked_mdelem* storage,
|
246
246
|
grpc_mdelem new_mdelem) {
|
247
247
|
assert_valid_callouts(exec_ctx, batch);
|
248
|
-
grpc_error
|
248
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
249
249
|
grpc_mdelem old_mdelem = storage->md;
|
250
250
|
if (!grpc_slice_eq(GRPC_MDKEY(new_mdelem), GRPC_MDKEY(old_mdelem))) {
|
251
251
|
maybe_unlink_callout(batch, storage);
|
@@ -263,29 +263,28 @@ grpc_error *grpc_metadata_batch_substitute(grpc_exec_ctx *exec_ctx,
|
|
263
263
|
return error;
|
264
264
|
}
|
265
265
|
|
266
|
-
void grpc_metadata_batch_clear(grpc_exec_ctx
|
267
|
-
grpc_metadata_batch
|
266
|
+
void grpc_metadata_batch_clear(grpc_exec_ctx* exec_ctx,
|
267
|
+
grpc_metadata_batch* batch) {
|
268
268
|
grpc_metadata_batch_destroy(exec_ctx, batch);
|
269
269
|
grpc_metadata_batch_init(batch);
|
270
270
|
}
|
271
271
|
|
272
|
-
bool grpc_metadata_batch_is_empty(grpc_metadata_batch
|
273
|
-
return batch->list.head ==
|
274
|
-
|
275
|
-
batch->deadline) == 0;
|
272
|
+
bool grpc_metadata_batch_is_empty(grpc_metadata_batch* batch) {
|
273
|
+
return batch->list.head == nullptr &&
|
274
|
+
batch->deadline == GRPC_MILLIS_INF_FUTURE;
|
276
275
|
}
|
277
276
|
|
278
|
-
size_t grpc_metadata_batch_size(grpc_metadata_batch
|
277
|
+
size_t grpc_metadata_batch_size(grpc_metadata_batch* batch) {
|
279
278
|
size_t size = 0;
|
280
|
-
for (grpc_linked_mdelem
|
279
|
+
for (grpc_linked_mdelem* elem = batch->list.head; elem != nullptr;
|
281
280
|
elem = elem->next) {
|
282
281
|
size += GRPC_MDELEM_LENGTH(elem->md);
|
283
282
|
}
|
284
283
|
return size;
|
285
284
|
}
|
286
285
|
|
287
|
-
static void add_error(grpc_error
|
288
|
-
const char
|
286
|
+
static void add_error(grpc_error** composite, grpc_error* error,
|
287
|
+
const char* composite_error_string) {
|
289
288
|
if (error == GRPC_ERROR_NONE) return;
|
290
289
|
if (*composite == GRPC_ERROR_NONE) {
|
291
290
|
*composite = GRPC_ERROR_CREATE_FROM_COPIED_STRING(composite_error_string);
|
@@ -293,15 +292,15 @@ static void add_error(grpc_error **composite, grpc_error *error,
|
|
293
292
|
*composite = grpc_error_add_child(*composite, error);
|
294
293
|
}
|
295
294
|
|
296
|
-
grpc_error
|
297
|
-
grpc_metadata_batch
|
295
|
+
grpc_error* grpc_metadata_batch_filter(grpc_exec_ctx* exec_ctx,
|
296
|
+
grpc_metadata_batch* batch,
|
298
297
|
grpc_metadata_batch_filter_func func,
|
299
|
-
void
|
300
|
-
const char
|
301
|
-
grpc_linked_mdelem
|
302
|
-
grpc_error
|
298
|
+
void* user_data,
|
299
|
+
const char* composite_error_string) {
|
300
|
+
grpc_linked_mdelem* l = batch->list.head;
|
301
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
303
302
|
while (l) {
|
304
|
-
grpc_linked_mdelem
|
303
|
+
grpc_linked_mdelem* next = l->next;
|
305
304
|
grpc_filtered_mdelem new_mdelem = func(exec_ctx, user_data, l->md);
|
306
305
|
add_error(&error, new_mdelem.error, composite_error_string);
|
307
306
|
if (GRPC_MDISNULL(new_mdelem.md)) {
|
@@ -34,16 +34,16 @@ extern "C" {
|
|
34
34
|
|
35
35
|
typedef struct grpc_linked_mdelem {
|
36
36
|
grpc_mdelem md;
|
37
|
-
struct grpc_linked_mdelem
|
38
|
-
struct grpc_linked_mdelem
|
39
|
-
void
|
37
|
+
struct grpc_linked_mdelem* next;
|
38
|
+
struct grpc_linked_mdelem* prev;
|
39
|
+
void* reserved;
|
40
40
|
} grpc_linked_mdelem;
|
41
41
|
|
42
42
|
typedef struct grpc_mdelem_list {
|
43
43
|
size_t count;
|
44
44
|
size_t default_count; // Number of default keys.
|
45
|
-
grpc_linked_mdelem
|
46
|
-
grpc_linked_mdelem
|
45
|
+
grpc_linked_mdelem* head;
|
46
|
+
grpc_linked_mdelem* tail;
|
47
47
|
} grpc_mdelem_list;
|
48
48
|
|
49
49
|
typedef struct grpc_metadata_batch {
|
@@ -51,34 +51,34 @@ typedef struct grpc_metadata_batch {
|
|
51
51
|
grpc_mdelem_list list;
|
52
52
|
grpc_metadata_batch_callouts idx;
|
53
53
|
/** Used to calculate grpc-timeout at the point of sending,
|
54
|
-
or
|
54
|
+
or GRPC_MILLIS_INF_FUTURE if this batch does not need to send a
|
55
55
|
grpc-timeout */
|
56
|
-
|
56
|
+
grpc_millis deadline;
|
57
57
|
} grpc_metadata_batch;
|
58
58
|
|
59
|
-
void grpc_metadata_batch_init(grpc_metadata_batch
|
60
|
-
void grpc_metadata_batch_destroy(grpc_exec_ctx
|
61
|
-
grpc_metadata_batch
|
62
|
-
void grpc_metadata_batch_clear(grpc_exec_ctx
|
63
|
-
grpc_metadata_batch
|
64
|
-
bool grpc_metadata_batch_is_empty(grpc_metadata_batch
|
59
|
+
void grpc_metadata_batch_init(grpc_metadata_batch* batch);
|
60
|
+
void grpc_metadata_batch_destroy(grpc_exec_ctx* exec_ctx,
|
61
|
+
grpc_metadata_batch* batch);
|
62
|
+
void grpc_metadata_batch_clear(grpc_exec_ctx* exec_ctx,
|
63
|
+
grpc_metadata_batch* batch);
|
64
|
+
bool grpc_metadata_batch_is_empty(grpc_metadata_batch* batch);
|
65
65
|
|
66
66
|
/* Returns the transport size of the batch. */
|
67
|
-
size_t grpc_metadata_batch_size(grpc_metadata_batch
|
67
|
+
size_t grpc_metadata_batch_size(grpc_metadata_batch* batch);
|
68
68
|
|
69
69
|
/** Remove \a storage from the batch, unreffing the mdelem contained */
|
70
|
-
void grpc_metadata_batch_remove(grpc_exec_ctx
|
71
|
-
grpc_metadata_batch
|
72
|
-
grpc_linked_mdelem
|
70
|
+
void grpc_metadata_batch_remove(grpc_exec_ctx* exec_ctx,
|
71
|
+
grpc_metadata_batch* batch,
|
72
|
+
grpc_linked_mdelem* storage);
|
73
73
|
|
74
74
|
/** Substitute a new mdelem for an old value */
|
75
|
-
grpc_error
|
76
|
-
grpc_metadata_batch
|
77
|
-
grpc_linked_mdelem
|
75
|
+
grpc_error* grpc_metadata_batch_substitute(grpc_exec_ctx* exec_ctx,
|
76
|
+
grpc_metadata_batch* batch,
|
77
|
+
grpc_linked_mdelem* storage,
|
78
78
|
grpc_mdelem new_value);
|
79
79
|
|
80
|
-
void grpc_metadata_batch_set_value(grpc_exec_ctx
|
81
|
-
grpc_linked_mdelem
|
80
|
+
void grpc_metadata_batch_set_value(grpc_exec_ctx* exec_ctx,
|
81
|
+
grpc_linked_mdelem* storage,
|
82
82
|
grpc_slice value);
|
83
83
|
|
84
84
|
/** Add \a storage to the beginning of \a batch. storage->md is
|
@@ -86,17 +86,17 @@ void grpc_metadata_batch_set_value(grpc_exec_ctx *exec_ctx,
|
|
86
86
|
\a storage is owned by the caller and must survive for the
|
87
87
|
lifetime of batch. This usually means it should be around
|
88
88
|
for the lifetime of the call. */
|
89
|
-
grpc_error
|
90
|
-
grpc_exec_ctx
|
91
|
-
grpc_linked_mdelem
|
89
|
+
grpc_error* grpc_metadata_batch_link_head(
|
90
|
+
grpc_exec_ctx* exec_ctx, grpc_metadata_batch* batch,
|
91
|
+
grpc_linked_mdelem* storage) GRPC_MUST_USE_RESULT;
|
92
92
|
/** Add \a storage to the end of \a batch. storage->md is
|
93
93
|
assumed to be valid.
|
94
94
|
\a storage is owned by the caller and must survive for the
|
95
95
|
lifetime of batch. This usually means it should be around
|
96
96
|
for the lifetime of the call. */
|
97
|
-
grpc_error
|
98
|
-
grpc_exec_ctx
|
99
|
-
grpc_linked_mdelem
|
97
|
+
grpc_error* grpc_metadata_batch_link_tail(
|
98
|
+
grpc_exec_ctx* exec_ctx, grpc_metadata_batch* batch,
|
99
|
+
grpc_linked_mdelem* storage) GRPC_MUST_USE_RESULT;
|
100
100
|
|
101
101
|
/** Add \a elem_to_add as the first element in \a batch, using
|
102
102
|
\a storage as backing storage for the linked list element.
|
@@ -104,41 +104,42 @@ grpc_error *grpc_metadata_batch_link_tail(
|
|
104
104
|
lifetime of batch. This usually means it should be around
|
105
105
|
for the lifetime of the call.
|
106
106
|
Takes ownership of \a elem_to_add */
|
107
|
-
grpc_error
|
108
|
-
grpc_exec_ctx
|
109
|
-
grpc_linked_mdelem
|
107
|
+
grpc_error* grpc_metadata_batch_add_head(
|
108
|
+
grpc_exec_ctx* exec_ctx, grpc_metadata_batch* batch,
|
109
|
+
grpc_linked_mdelem* storage, grpc_mdelem elem_to_add) GRPC_MUST_USE_RESULT;
|
110
110
|
/** Add \a elem_to_add as the last element in \a batch, using
|
111
111
|
\a storage as backing storage for the linked list element.
|
112
112
|
\a storage is owned by the caller and must survive for the
|
113
113
|
lifetime of batch. This usually means it should be around
|
114
114
|
for the lifetime of the call.
|
115
115
|
Takes ownership of \a elem_to_add */
|
116
|
-
grpc_error
|
117
|
-
grpc_exec_ctx
|
118
|
-
grpc_linked_mdelem
|
116
|
+
grpc_error* grpc_metadata_batch_add_tail(
|
117
|
+
grpc_exec_ctx* exec_ctx, grpc_metadata_batch* batch,
|
118
|
+
grpc_linked_mdelem* storage, grpc_mdelem elem_to_add) GRPC_MUST_USE_RESULT;
|
119
119
|
|
120
|
-
grpc_error
|
120
|
+
grpc_error* grpc_attach_md_to_error(grpc_error* src, grpc_mdelem md);
|
121
121
|
|
122
122
|
typedef struct {
|
123
|
-
grpc_error
|
123
|
+
grpc_error* error;
|
124
124
|
grpc_mdelem md;
|
125
125
|
} grpc_filtered_mdelem;
|
126
126
|
|
127
127
|
#define GRPC_FILTERED_ERROR(error) \
|
128
|
-
|
129
|
-
#define GRPC_FILTERED_MDELEM(md)
|
128
|
+
{ (error), GRPC_MDNULL }
|
129
|
+
#define GRPC_FILTERED_MDELEM(md) \
|
130
|
+
{ GRPC_ERROR_NONE, (md) }
|
130
131
|
#define GRPC_FILTERED_REMOVE() \
|
131
|
-
|
132
|
+
{ GRPC_ERROR_NONE, GRPC_MDNULL }
|
132
133
|
|
133
134
|
typedef grpc_filtered_mdelem (*grpc_metadata_batch_filter_func)(
|
134
|
-
grpc_exec_ctx
|
135
|
-
grpc_error
|
136
|
-
grpc_exec_ctx
|
137
|
-
grpc_metadata_batch_filter_func func, void
|
138
|
-
const char
|
135
|
+
grpc_exec_ctx* exec_ctx, void* user_data, grpc_mdelem elem);
|
136
|
+
grpc_error* grpc_metadata_batch_filter(
|
137
|
+
grpc_exec_ctx* exec_ctx, grpc_metadata_batch* batch,
|
138
|
+
grpc_metadata_batch_filter_func func, void* user_data,
|
139
|
+
const char* composite_error_string) GRPC_MUST_USE_RESULT;
|
139
140
|
|
140
141
|
#ifndef NDEBUG
|
141
|
-
void grpc_metadata_batch_assert_ok(grpc_metadata_batch
|
142
|
+
void grpc_metadata_batch_assert_ok(grpc_metadata_batch* comd);
|
142
143
|
#else
|
143
144
|
#define grpc_metadata_batch_assert_ok(comd) \
|
144
145
|
do { \
|