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
@@ -0,0 +1,48 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2016 gRPC authors.
|
4
|
+
*
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
* you may not use this file except in compliance with the License.
|
7
|
+
* You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
#include "src/core/lib/transport/pid_controller.h"
|
20
|
+
#include <grpc/support/useful.h>
|
21
|
+
|
22
|
+
namespace grpc_core {
|
23
|
+
|
24
|
+
PidController::PidController(const Args& args)
|
25
|
+
: last_control_value_(args.initial_control_value()), args_(args) {}
|
26
|
+
|
27
|
+
double PidController::Update(double error, double dt) {
|
28
|
+
if (dt <= 0) return last_control_value_;
|
29
|
+
/* integrate error using the trapezoid rule */
|
30
|
+
error_integral_ += dt * (last_error_ + error) * 0.5;
|
31
|
+
error_integral_ = GPR_CLAMP(error_integral_, -args_.integral_range(),
|
32
|
+
args_.integral_range());
|
33
|
+
double diff_error = (error - last_error_) / dt;
|
34
|
+
/* calculate derivative of control value vs time */
|
35
|
+
double dc_dt = args_.gain_p() * error + args_.gain_i() * error_integral_ +
|
36
|
+
args_.gain_d() * diff_error;
|
37
|
+
/* and perform trapezoidal integration */
|
38
|
+
double new_control_value =
|
39
|
+
last_control_value_ + dt * (last_dc_dt_ + dc_dt) * 0.5;
|
40
|
+
new_control_value = GPR_CLAMP(new_control_value, args_.min_control_value(),
|
41
|
+
args_.max_control_value());
|
42
|
+
last_error_ = error;
|
43
|
+
last_dc_dt_ = dc_dt;
|
44
|
+
last_control_value_ = new_control_value;
|
45
|
+
return new_control_value;
|
46
|
+
}
|
47
|
+
|
48
|
+
} // namespace grpc_core
|
@@ -19,6 +19,8 @@
|
|
19
19
|
#ifndef GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H
|
20
20
|
#define GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H
|
21
21
|
|
22
|
+
#include <limits>
|
23
|
+
|
22
24
|
/* \file Simple PID controller.
|
23
25
|
Implements a proportional-integral-derivative controller.
|
24
26
|
Used when we want to iteratively control a variable to converge some other
|
@@ -26,37 +28,87 @@
|
|
26
28
|
Gains can be set to adjust sensitivity to current error (p), the integral
|
27
29
|
of error (i), and the derivative of error (d). */
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
31
|
+
namespace grpc_core {
|
32
|
+
|
33
|
+
class PidController {
|
34
|
+
public:
|
35
|
+
class Args {
|
36
|
+
public:
|
37
|
+
double gain_p() const { return gain_p_; }
|
38
|
+
double gain_i() const { return gain_i_; }
|
39
|
+
double gain_d() const { return gain_d_; }
|
40
|
+
double initial_control_value() const { return initial_control_value_; }
|
41
|
+
double min_control_value() const { return min_control_value_; }
|
42
|
+
double max_control_value() const { return max_control_value_; }
|
43
|
+
double integral_range() const { return integral_range_; }
|
44
|
+
|
45
|
+
Args& set_gain_p(double gain_p) {
|
46
|
+
gain_p_ = gain_p;
|
47
|
+
return *this;
|
48
|
+
}
|
49
|
+
Args& set_gain_i(double gain_i) {
|
50
|
+
gain_i_ = gain_i;
|
51
|
+
return *this;
|
52
|
+
}
|
53
|
+
Args& set_gain_d(double gain_d) {
|
54
|
+
gain_d_ = gain_d;
|
55
|
+
return *this;
|
56
|
+
}
|
57
|
+
Args& set_initial_control_value(double initial_control_value) {
|
58
|
+
initial_control_value_ = initial_control_value;
|
59
|
+
return *this;
|
60
|
+
}
|
61
|
+
Args& set_min_control_value(double min_control_value) {
|
62
|
+
min_control_value_ = min_control_value;
|
63
|
+
return *this;
|
64
|
+
}
|
65
|
+
Args& set_max_control_value(double max_control_value) {
|
66
|
+
max_control_value_ = max_control_value;
|
67
|
+
return *this;
|
68
|
+
}
|
69
|
+
Args& set_integral_range(double integral_range) {
|
70
|
+
integral_range_ = integral_range;
|
71
|
+
return *this;
|
72
|
+
}
|
73
|
+
|
74
|
+
private:
|
75
|
+
double gain_p_ = 0.0;
|
76
|
+
double gain_i_ = 0.0;
|
77
|
+
double gain_d_ = 0.0;
|
78
|
+
double initial_control_value_ = 0.0;
|
79
|
+
double min_control_value_ = std::numeric_limits<double>::min();
|
80
|
+
double max_control_value_ = std::numeric_limits<double>::max();
|
81
|
+
double integral_range_ = std::numeric_limits<double>::max();
|
82
|
+
};
|
83
|
+
|
84
|
+
explicit PidController(const Args& args);
|
85
|
+
|
86
|
+
/// Reset the controller internal state: useful when the environment has
|
87
|
+
/// changed significantly
|
88
|
+
void Reset() {
|
89
|
+
last_error_ = 0.0;
|
90
|
+
last_dc_dt_ = 0.0;
|
91
|
+
error_integral_ = 0.0;
|
92
|
+
}
|
93
|
+
|
94
|
+
/// Update the controller: given a current error estimate, and the time since
|
95
|
+
/// the last update, returns a new control value
|
96
|
+
double Update(double error, double dt);
|
97
|
+
|
98
|
+
/// Returns the last control value calculated
|
99
|
+
double last_control_value() const { return last_control_value_; }
|
100
|
+
|
101
|
+
/// Returns the current error integral (mostly for testing)
|
102
|
+
double error_integral() const { return error_integral_; }
|
103
|
+
|
104
|
+
private:
|
105
|
+
double last_error_ = 0.0;
|
106
|
+
double error_integral_ = 0.0;
|
107
|
+
double last_control_value_;
|
108
|
+
double last_dc_dt_ = 0.0;
|
109
|
+
const Args args_;
|
110
|
+
};
|
111
|
+
|
112
|
+
} // namespace grpc_core
|
61
113
|
|
62
114
|
#endif /* GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H */
|
@@ -64,11 +64,11 @@ grpc_service_config* grpc_service_config_create(const char* json_string) {
|
|
64
64
|
service_config->json_string = gpr_strdup(json_string);
|
65
65
|
service_config->json_tree =
|
66
66
|
grpc_json_parse_string(service_config->json_string);
|
67
|
-
if (service_config->json_tree ==
|
67
|
+
if (service_config->json_tree == nullptr) {
|
68
68
|
gpr_log(GPR_INFO, "failed to parse JSON for service config");
|
69
69
|
gpr_free(service_config->json_string);
|
70
70
|
gpr_free(service_config);
|
71
|
-
return
|
71
|
+
return nullptr;
|
72
72
|
}
|
73
73
|
return service_config;
|
74
74
|
}
|
@@ -83,9 +83,9 @@ void grpc_service_config_parse_global_params(
|
|
83
83
|
const grpc_service_config* service_config,
|
84
84
|
void (*process_json)(const grpc_json* json, void* arg), void* arg) {
|
85
85
|
const grpc_json* json = service_config->json_tree;
|
86
|
-
if (json->type != GRPC_JSON_OBJECT || json->key !=
|
87
|
-
for (grpc_json* field = json->child; field !=
|
88
|
-
if (field->key ==
|
86
|
+
if (json->type != GRPC_JSON_OBJECT || json->key != nullptr) return;
|
87
|
+
for (grpc_json* field = json->child; field != nullptr; field = field->next) {
|
88
|
+
if (field->key == nullptr) return;
|
89
89
|
if (strcmp(field->key, "methodConfig") == 0) continue;
|
90
90
|
process_json(field, arg);
|
91
91
|
}
|
@@ -94,13 +94,13 @@ void grpc_service_config_parse_global_params(
|
|
94
94
|
const char* grpc_service_config_get_lb_policy_name(
|
95
95
|
const grpc_service_config* service_config) {
|
96
96
|
const grpc_json* json = service_config->json_tree;
|
97
|
-
if (json->type != GRPC_JSON_OBJECT || json->key !=
|
98
|
-
const char* lb_policy_name =
|
99
|
-
for (grpc_json* field = json->child; field !=
|
100
|
-
if (field->key ==
|
97
|
+
if (json->type != GRPC_JSON_OBJECT || json->key != nullptr) return nullptr;
|
98
|
+
const char* lb_policy_name = nullptr;
|
99
|
+
for (grpc_json* field = json->child; field != nullptr; field = field->next) {
|
100
|
+
if (field->key == nullptr) return nullptr;
|
101
101
|
if (strcmp(field->key, "loadBalancingPolicy") == 0) {
|
102
|
-
if (lb_policy_name !=
|
103
|
-
if (field->type != GRPC_JSON_STRING) return
|
102
|
+
if (lb_policy_name != nullptr) return nullptr; // Duplicate.
|
103
|
+
if (field->type != GRPC_JSON_STRING) return nullptr;
|
104
104
|
lb_policy_name = field->value;
|
105
105
|
}
|
106
106
|
}
|
@@ -110,8 +110,14 @@ const char* grpc_service_config_get_lb_policy_name(
|
|
110
110
|
// Returns the number of names specified in the method config \a json.
|
111
111
|
static size_t count_names_in_method_config_json(grpc_json* json) {
|
112
112
|
size_t num_names = 0;
|
113
|
-
for (grpc_json* field = json->child; field !=
|
114
|
-
if (field->key !=
|
113
|
+
for (grpc_json* field = json->child; field != nullptr; field = field->next) {
|
114
|
+
if (field->key != nullptr && strcmp(field->key, "name") == 0) {
|
115
|
+
if (field->type != GRPC_JSON_ARRAY) return -1;
|
116
|
+
for (grpc_json* name = field->child; name != nullptr; name = name->next) {
|
117
|
+
if (name->type != GRPC_JSON_OBJECT) return -1;
|
118
|
+
++num_names;
|
119
|
+
}
|
120
|
+
}
|
115
121
|
}
|
116
122
|
return num_names;
|
117
123
|
}
|
@@ -119,26 +125,26 @@ static size_t count_names_in_method_config_json(grpc_json* json) {
|
|
119
125
|
// Returns a path string for the JSON name object specified by \a json.
|
120
126
|
// Returns NULL on error. Caller takes ownership of result.
|
121
127
|
static char* parse_json_method_name(grpc_json* json) {
|
122
|
-
if (json->type != GRPC_JSON_OBJECT) return
|
123
|
-
const char* service_name =
|
124
|
-
const char* method_name =
|
125
|
-
for (grpc_json* child = json->child; child !=
|
126
|
-
if (child->key ==
|
127
|
-
if (child->type != GRPC_JSON_STRING) return
|
128
|
+
if (json->type != GRPC_JSON_OBJECT) return nullptr;
|
129
|
+
const char* service_name = nullptr;
|
130
|
+
const char* method_name = nullptr;
|
131
|
+
for (grpc_json* child = json->child; child != nullptr; child = child->next) {
|
132
|
+
if (child->key == nullptr) return nullptr;
|
133
|
+
if (child->type != GRPC_JSON_STRING) return nullptr;
|
128
134
|
if (strcmp(child->key, "service") == 0) {
|
129
|
-
if (service_name !=
|
130
|
-
if (child->value ==
|
135
|
+
if (service_name != nullptr) return nullptr; // Duplicate.
|
136
|
+
if (child->value == nullptr) return nullptr;
|
131
137
|
service_name = child->value;
|
132
138
|
} else if (strcmp(child->key, "method") == 0) {
|
133
|
-
if (method_name !=
|
134
|
-
if (child->value ==
|
139
|
+
if (method_name != nullptr) return nullptr; // Duplicate.
|
140
|
+
if (child->value == nullptr) return nullptr;
|
135
141
|
method_name = child->value;
|
136
142
|
}
|
137
143
|
}
|
138
|
-
if (service_name ==
|
144
|
+
if (service_name == nullptr) return nullptr; // Required field.
|
139
145
|
char* path;
|
140
146
|
gpr_asprintf(&path, "/%s/%s", service_name,
|
141
|
-
method_name ==
|
147
|
+
method_name == nullptr ? "*" : method_name);
|
142
148
|
return path;
|
143
149
|
}
|
144
150
|
|
@@ -148,20 +154,23 @@ static char* parse_json_method_name(grpc_json* json) {
|
|
148
154
|
static bool parse_json_method_config(
|
149
155
|
grpc_exec_ctx* exec_ctx, grpc_json* json,
|
150
156
|
void* (*create_value)(const grpc_json* method_config_json),
|
157
|
+
void* (*ref_value)(void* value),
|
158
|
+
void (*unref_value)(grpc_exec_ctx* exec_ctx, void* value),
|
151
159
|
grpc_slice_hash_table_entry* entries, size_t* idx) {
|
152
160
|
// Construct value.
|
153
161
|
void* method_config = create_value(json);
|
154
|
-
if (method_config ==
|
162
|
+
if (method_config == nullptr) return false;
|
155
163
|
// Construct list of paths.
|
156
164
|
bool success = false;
|
157
165
|
gpr_strvec paths;
|
158
166
|
gpr_strvec_init(&paths);
|
159
|
-
for (grpc_json* child = json->child; child !=
|
160
|
-
if (child->key ==
|
167
|
+
for (grpc_json* child = json->child; child != nullptr; child = child->next) {
|
168
|
+
if (child->key == nullptr) continue;
|
161
169
|
if (strcmp(child->key, "name") == 0) {
|
162
170
|
if (child->type != GRPC_JSON_ARRAY) goto done;
|
163
|
-
for (grpc_json* name = child->child; name !=
|
171
|
+
for (grpc_json* name = child->child; name != nullptr; name = name->next) {
|
164
172
|
char* path = parse_json_method_name(name);
|
173
|
+
if (path == nullptr) goto done;
|
165
174
|
gpr_strvec_add(&paths, path);
|
166
175
|
}
|
167
176
|
}
|
@@ -170,11 +179,12 @@ static bool parse_json_method_config(
|
|
170
179
|
// Add entry for each path.
|
171
180
|
for (size_t i = 0; i < paths.count; ++i) {
|
172
181
|
entries[*idx].key = grpc_slice_from_copied_string(paths.strs[i]);
|
173
|
-
entries[*idx].value = method_config;
|
182
|
+
entries[*idx].value = ref_value(method_config);
|
174
183
|
++*idx;
|
175
184
|
}
|
176
185
|
success = true;
|
177
186
|
done:
|
187
|
+
unref_value(exec_ctx, method_config);
|
178
188
|
gpr_strvec_destroy(&paths);
|
179
189
|
return success;
|
180
190
|
}
|
@@ -182,41 +192,49 @@ done:
|
|
182
192
|
grpc_slice_hash_table* grpc_service_config_create_method_config_table(
|
183
193
|
grpc_exec_ctx* exec_ctx, const grpc_service_config* service_config,
|
184
194
|
void* (*create_value)(const grpc_json* method_config_json),
|
185
|
-
void (*
|
195
|
+
void* (*ref_value)(void* value),
|
196
|
+
void (*unref_value)(grpc_exec_ctx* exec_ctx, void* value)) {
|
186
197
|
const grpc_json* json = service_config->json_tree;
|
187
198
|
// Traverse parsed JSON tree.
|
188
|
-
if (json->type != GRPC_JSON_OBJECT || json->key !=
|
199
|
+
if (json->type != GRPC_JSON_OBJECT || json->key != nullptr) return nullptr;
|
189
200
|
size_t num_entries = 0;
|
190
|
-
grpc_slice_hash_table_entry* entries =
|
191
|
-
for (grpc_json* field = json->child; field !=
|
192
|
-
if (field->key ==
|
201
|
+
grpc_slice_hash_table_entry* entries = nullptr;
|
202
|
+
for (grpc_json* field = json->child; field != nullptr; field = field->next) {
|
203
|
+
if (field->key == nullptr) return nullptr;
|
193
204
|
if (strcmp(field->key, "methodConfig") == 0) {
|
194
|
-
if (entries !=
|
195
|
-
if (field->type != GRPC_JSON_ARRAY) return
|
205
|
+
if (entries != nullptr) return nullptr; // Duplicate.
|
206
|
+
if (field->type != GRPC_JSON_ARRAY) return nullptr;
|
196
207
|
// Find number of entries.
|
197
|
-
for (grpc_json* method = field->child; method !=
|
208
|
+
for (grpc_json* method = field->child; method != nullptr;
|
198
209
|
method = method->next) {
|
199
|
-
|
210
|
+
size_t count = count_names_in_method_config_json(method);
|
211
|
+
if (count <= 0) return nullptr;
|
212
|
+
num_entries += count;
|
200
213
|
}
|
201
214
|
// Populate method config table entries.
|
202
215
|
entries = (grpc_slice_hash_table_entry*)gpr_malloc(
|
203
216
|
num_entries * sizeof(grpc_slice_hash_table_entry));
|
204
217
|
size_t idx = 0;
|
205
|
-
for (grpc_json* method = field->child; method !=
|
218
|
+
for (grpc_json* method = field->child; method != nullptr;
|
206
219
|
method = method->next) {
|
207
|
-
if (!parse_json_method_config(exec_ctx, method, create_value,
|
208
|
-
&idx)) {
|
209
|
-
|
220
|
+
if (!parse_json_method_config(exec_ctx, method, create_value, ref_value,
|
221
|
+
unref_value, entries, &idx)) {
|
222
|
+
for (size_t i = 0; i < idx; ++i) {
|
223
|
+
grpc_slice_unref_internal(exec_ctx, entries[i].key);
|
224
|
+
unref_value(exec_ctx, entries[i].value);
|
225
|
+
}
|
226
|
+
gpr_free(entries);
|
227
|
+
return nullptr;
|
210
228
|
}
|
211
229
|
}
|
212
230
|
GPR_ASSERT(idx == num_entries);
|
213
231
|
}
|
214
232
|
}
|
215
233
|
// Instantiate method config table.
|
216
|
-
grpc_slice_hash_table* method_config_table =
|
217
|
-
if (entries !=
|
218
|
-
method_config_table =
|
219
|
-
|
234
|
+
grpc_slice_hash_table* method_config_table = nullptr;
|
235
|
+
if (entries != nullptr) {
|
236
|
+
method_config_table = grpc_slice_hash_table_create(num_entries, entries,
|
237
|
+
unref_value, nullptr);
|
220
238
|
gpr_free(entries);
|
221
239
|
}
|
222
240
|
return method_config_table;
|
@@ -228,7 +246,7 @@ void* grpc_method_config_table_get(grpc_exec_ctx* exec_ctx,
|
|
228
246
|
void* value = grpc_slice_hash_table_get(table, path);
|
229
247
|
// If we didn't find a match for the path, try looking for a wildcard
|
230
248
|
// entry (i.e., change "/service/method" to "/service/*").
|
231
|
-
if (value ==
|
249
|
+
if (value == nullptr) {
|
232
250
|
char* path_str = grpc_slice_to_c_string(path);
|
233
251
|
const char* sep = strrchr(path_str, '/') + 1;
|
234
252
|
const size_t len = (size_t)(sep - path_str);
|
@@ -22,6 +22,10 @@
|
|
22
22
|
#include "src/core/lib/json/json.h"
|
23
23
|
#include "src/core/lib/slice/slice_hash_table.h"
|
24
24
|
|
25
|
+
#ifdef __cplusplus
|
26
|
+
extern "C" {
|
27
|
+
#endif
|
28
|
+
|
25
29
|
typedef struct grpc_service_config grpc_service_config;
|
26
30
|
|
27
31
|
grpc_service_config* grpc_service_config_create(const char* json_string);
|
@@ -42,12 +46,13 @@ const char* grpc_service_config_get_lb_policy_name(
|
|
42
46
|
/// Creates a method config table based on the data in \a json.
|
43
47
|
/// The table's keys are request paths. The table's value type is
|
44
48
|
/// returned by \a create_value(), based on data parsed from the JSON tree.
|
45
|
-
/// \a
|
49
|
+
/// \a ref_value() and \a unref_value() are used to ref and unref values.
|
46
50
|
/// Returns NULL on error.
|
47
51
|
grpc_slice_hash_table* grpc_service_config_create_method_config_table(
|
48
52
|
grpc_exec_ctx* exec_ctx, const grpc_service_config* service_config,
|
49
53
|
void* (*create_value)(const grpc_json* method_config_json),
|
50
|
-
void (*
|
54
|
+
void* (*ref_value)(void* value),
|
55
|
+
void (*unref_value)(grpc_exec_ctx* exec_ctx, void* value));
|
51
56
|
|
52
57
|
/// A helper function for looking up values in the table returned by
|
53
58
|
/// \a grpc_service_config_create_method_config_table().
|
@@ -59,4 +64,8 @@ void* grpc_method_config_table_get(grpc_exec_ctx* exec_ctx,
|
|
59
64
|
const grpc_slice_hash_table* table,
|
60
65
|
grpc_slice path);
|
61
66
|
|
67
|
+
#ifdef __cplusplus
|
68
|
+
}
|
69
|
+
#endif
|
70
|
+
|
62
71
|
#endif /* GRPC_CORE_LIB_TRANSPORT_SERVICE_CONFIG_H */
|
@@ -103,8 +103,8 @@ static uint8_t g_bytes[] = {
|
|
103
103
|
105, 100, 101, 110, 116, 105, 116, 121, 44, 100, 101, 102, 108, 97, 116,
|
104
104
|
101, 44, 103, 122, 105, 112};
|
105
105
|
|
106
|
-
static void static_ref(void
|
107
|
-
static void static_unref(grpc_exec_ctx
|
106
|
+
static void static_ref(void* unused) {}
|
107
|
+
static void static_unref(grpc_exec_ctx* exec_ctx, void* unused) {}
|
108
108
|
static const grpc_slice_refcount_vtable static_sub_vtable = {
|
109
109
|
static_ref, static_unref, grpc_slice_default_eq_impl,
|
110
110
|
grpc_slice_default_hash_impl};
|
@@ -27,6 +27,10 @@
|
|
27
27
|
#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
28
28
|
#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
29
29
|
|
30
|
+
#ifdef __cplusplus
|
31
|
+
extern "C" {
|
32
|
+
#endif
|
33
|
+
|
30
34
|
#include "src/core/lib/transport/metadata.h"
|
31
35
|
|
32
36
|
#define GRPC_STATIC_MDSTR_COUNT 100
|
@@ -537,30 +541,30 @@ typedef enum {
|
|
537
541
|
} grpc_metadata_batch_callouts_index;
|
538
542
|
|
539
543
|
typedef union {
|
540
|
-
struct grpc_linked_mdelem
|
544
|
+
struct grpc_linked_mdelem* array[GRPC_BATCH_CALLOUTS_COUNT];
|
541
545
|
struct {
|
542
|
-
struct grpc_linked_mdelem
|
543
|
-
struct grpc_linked_mdelem
|
544
|
-
struct grpc_linked_mdelem
|
545
|
-
struct grpc_linked_mdelem
|
546
|
-
struct grpc_linked_mdelem
|
547
|
-
struct grpc_linked_mdelem
|
548
|
-
struct grpc_linked_mdelem
|
549
|
-
struct grpc_linked_mdelem
|
550
|
-
struct grpc_linked_mdelem
|
551
|
-
struct grpc_linked_mdelem
|
552
|
-
struct grpc_linked_mdelem
|
553
|
-
struct grpc_linked_mdelem
|
554
|
-
struct grpc_linked_mdelem
|
555
|
-
struct grpc_linked_mdelem
|
556
|
-
struct grpc_linked_mdelem
|
557
|
-
struct grpc_linked_mdelem
|
558
|
-
struct grpc_linked_mdelem
|
559
|
-
struct grpc_linked_mdelem
|
560
|
-
struct grpc_linked_mdelem
|
561
|
-
struct grpc_linked_mdelem
|
562
|
-
struct grpc_linked_mdelem
|
563
|
-
struct grpc_linked_mdelem
|
546
|
+
struct grpc_linked_mdelem* path;
|
547
|
+
struct grpc_linked_mdelem* method;
|
548
|
+
struct grpc_linked_mdelem* status;
|
549
|
+
struct grpc_linked_mdelem* authority;
|
550
|
+
struct grpc_linked_mdelem* scheme;
|
551
|
+
struct grpc_linked_mdelem* te;
|
552
|
+
struct grpc_linked_mdelem* grpc_message;
|
553
|
+
struct grpc_linked_mdelem* grpc_status;
|
554
|
+
struct grpc_linked_mdelem* grpc_payload_bin;
|
555
|
+
struct grpc_linked_mdelem* grpc_encoding;
|
556
|
+
struct grpc_linked_mdelem* grpc_accept_encoding;
|
557
|
+
struct grpc_linked_mdelem* grpc_server_stats_bin;
|
558
|
+
struct grpc_linked_mdelem* grpc_tags_bin;
|
559
|
+
struct grpc_linked_mdelem* grpc_trace_bin;
|
560
|
+
struct grpc_linked_mdelem* content_type;
|
561
|
+
struct grpc_linked_mdelem* content_encoding;
|
562
|
+
struct grpc_linked_mdelem* accept_encoding;
|
563
|
+
struct grpc_linked_mdelem* grpc_internal_encoding_request;
|
564
|
+
struct grpc_linked_mdelem* grpc_internal_stream_encoding_request;
|
565
|
+
struct grpc_linked_mdelem* user_agent;
|
566
|
+
struct grpc_linked_mdelem* host;
|
567
|
+
struct grpc_linked_mdelem* lb_token;
|
564
568
|
} named;
|
565
569
|
} grpc_metadata_batch_callouts;
|
566
570
|
|
@@ -584,4 +588,7 @@ extern const uint8_t grpc_static_accept_stream_encoding_metadata[4];
|
|
584
588
|
(GRPC_MAKE_MDELEM(&grpc_static_mdelem_table \
|
585
589
|
[grpc_static_accept_stream_encoding_metadata[(algs)]], \
|
586
590
|
GRPC_MDELEM_STORAGE_STATIC))
|
591
|
+
#ifdef __cplusplus
|
592
|
+
}
|
593
|
+
#endif
|
587
594
|
#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
|