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
data/include/grpc/census.h
CHANGED
@@ -16,10 +16,6 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
-
/** RPC-internal Census API's. These are designed to be generic enough that
|
20
|
-
* they can (ultimately) be used in many different RPC systems (with differing
|
21
|
-
* implementations). */
|
22
|
-
|
23
19
|
#ifndef GRPC_CENSUS_H
|
24
20
|
#define GRPC_CENSUS_H
|
25
21
|
|
@@ -29,439 +25,12 @@
|
|
29
25
|
extern "C" {
|
30
26
|
#endif
|
31
27
|
|
32
|
-
/** Identify census features that can be enabled via census_initialize(). */
|
33
|
-
enum census_features {
|
34
|
-
CENSUS_FEATURE_NONE = 0, /** Do not enable census. */
|
35
|
-
CENSUS_FEATURE_TRACING = 1, /** Enable census tracing. */
|
36
|
-
CENSUS_FEATURE_STATS = 2, /** Enable Census stats collection. */
|
37
|
-
CENSUS_FEATURE_CPU = 4, /** Enable Census CPU usage collection. */
|
38
|
-
CENSUS_FEATURE_ALL =
|
39
|
-
CENSUS_FEATURE_TRACING | CENSUS_FEATURE_STATS | CENSUS_FEATURE_CPU
|
40
|
-
};
|
41
|
-
|
42
|
-
/** Shutdown and startup census subsystem. The 'features' argument should be
|
43
|
-
* the OR (|) of census_features values. If census fails to initialize, then
|
44
|
-
* census_initialize() will return -1, otherwise the set of enabled features
|
45
|
-
* (which may be smaller than that provided in the `features` argument, see
|
46
|
-
* census_supported()) is returned. It is an error to call census_initialize()
|
47
|
-
* more than once (without an intervening census_shutdown()). These functions
|
48
|
-
* are not thread-safe. */
|
49
|
-
CENSUSAPI int census_initialize(int features);
|
50
|
-
CENSUSAPI void census_shutdown(void);
|
51
|
-
|
52
|
-
/** Return the features supported by the current census implementation (not all
|
53
|
-
* features will be available on all platforms). */
|
54
|
-
CENSUSAPI int census_supported(void);
|
55
|
-
|
56
|
-
/** Return the census features currently enabled. */
|
57
|
-
CENSUSAPI int census_enabled(void);
|
58
|
-
|
59
28
|
/**
|
60
29
|
A Census Context is a handle used by Census to represent the current tracing
|
61
30
|
and stats collection information. Contexts should be propagated across RPC's
|
62
|
-
(this is the responsibility of the local RPC system).
|
63
|
-
used as the first argument to most census functions. Conceptually, they
|
64
|
-
should be thought of as specific to a single RPC/thread. The user visible
|
65
|
-
context representation is that of a collection of key:value string pairs,
|
66
|
-
each of which is termed a 'tag'; these form the basis against which Census
|
67
|
-
metrics will be recorded. Keys are unique within a context. */
|
31
|
+
(this is the responsibility of the local RPC system). */
|
68
32
|
typedef struct census_context census_context;
|
69
33
|
|
70
|
-
/** A tag is a key:value pair. Both keys and values are nil-terminated strings,
|
71
|
-
containing printable ASCII characters (decimal 32-126). Keys must be at
|
72
|
-
least one character in length. Both keys and values can have at most
|
73
|
-
CENSUS_MAX_TAG_KB_LEN characters (including the terminating nil). The
|
74
|
-
maximum number of tags that can be propagated is
|
75
|
-
CENSUS_MAX_PROPAGATED_TAGS. Users should also remember that some systems
|
76
|
-
may have limits on, e.g., the number of bytes that can be transmitted as
|
77
|
-
metadata, and that larger tags means more memory consumed and time in
|
78
|
-
processing. */
|
79
|
-
typedef struct {
|
80
|
-
const char *key;
|
81
|
-
const char *value;
|
82
|
-
uint8_t flags;
|
83
|
-
} census_tag;
|
84
|
-
|
85
|
-
/** Maximum length of a tag's key or value. */
|
86
|
-
#define CENSUS_MAX_TAG_KV_LEN 255
|
87
|
-
/** Maximum number of propagatable tags. */
|
88
|
-
#define CENSUS_MAX_PROPAGATED_TAGS 255
|
89
|
-
|
90
|
-
/** Tag flags. */
|
91
|
-
#define CENSUS_TAG_PROPAGATE 1 /** Tag should be propagated over RPC */
|
92
|
-
#define CENSUS_TAG_STATS 2 /** Tag will be used for statistics aggregation */
|
93
|
-
#define CENSUS_TAG_RESERVED 4 /** Reserved for internal use. */
|
94
|
-
/** Flag values 4,8,16,32,64,128 are reserved for future/internal use. Clients
|
95
|
-
should not use or rely on their values. */
|
96
|
-
|
97
|
-
#define CENSUS_TAG_IS_PROPAGATED(flags) (flags & CENSUS_TAG_PROPAGATE)
|
98
|
-
#define CENSUS_TAG_IS_STATS(flags) (flags & CENSUS_TAG_STATS)
|
99
|
-
|
100
|
-
/** An instance of this structure is kept by every context, and records the
|
101
|
-
basic information associated with the creation of that context. */
|
102
|
-
typedef struct {
|
103
|
-
int n_propagated_tags; /** number of propagated tags */
|
104
|
-
int n_local_tags; /** number of non-propagated (local) tags */
|
105
|
-
int n_deleted_tags; /** number of tags that were deleted */
|
106
|
-
int n_added_tags; /** number of tags that were added */
|
107
|
-
int n_modified_tags; /** number of tags that were modified */
|
108
|
-
int n_invalid_tags; /** number of tags with bad keys or values (e.g.
|
109
|
-
longer than CENSUS_MAX_TAG_KV_LEN) */
|
110
|
-
int n_ignored_tags; /** number of tags ignored because of
|
111
|
-
CENSUS_MAX_PROPAGATED_TAGS limit. */
|
112
|
-
} census_context_status;
|
113
|
-
|
114
|
-
/** Create a new context, adding and removing tags from an existing context.
|
115
|
-
This will copy all tags from the 'tags' input, so it is recommended
|
116
|
-
to add as many tags in a single operation as is practical for the client.
|
117
|
-
@param base Base context to build upon. Can be NULL.
|
118
|
-
@param tags A set of tags to be added/changed/deleted. Tags with keys that
|
119
|
-
are in 'tags', but not 'base', are added to the context. Keys that are in
|
120
|
-
both 'tags' and 'base' will have their value/flags modified. Tags with keys
|
121
|
-
in both, but with NULL values, will be deleted from the context. Tags with
|
122
|
-
invalid (too long or short) keys or values will be ignored.
|
123
|
-
If adding a tag will result in more than CENSUS_MAX_PROPAGATED_TAGS in either
|
124
|
-
binary or non-binary tags, they will be ignored, as will deletions of
|
125
|
-
tags that don't exist.
|
126
|
-
@param ntags number of tags in 'tags'
|
127
|
-
@param status If not NULL, will return a pointer to a census_context_status
|
128
|
-
structure containing information about the new context and status of the
|
129
|
-
tags used in its creation.
|
130
|
-
@return A new, valid census_context.
|
131
|
-
*/
|
132
|
-
CENSUSAPI census_context *census_context_create(
|
133
|
-
const census_context *base, const census_tag *tags, int ntags,
|
134
|
-
census_context_status const **status);
|
135
|
-
|
136
|
-
/** Destroy a context. Once this function has been called, the context cannot
|
137
|
-
be reused. */
|
138
|
-
CENSUSAPI void census_context_destroy(census_context *context);
|
139
|
-
|
140
|
-
/** Get a pointer to the original status from the context creation. */
|
141
|
-
CENSUSAPI const census_context_status *census_context_get_status(
|
142
|
-
const census_context *context);
|
143
|
-
|
144
|
-
/** Structure used for iterating over the tags in a context. API clients should
|
145
|
-
not use or reference internal fields - neither their contents or
|
146
|
-
presence/absence are guaranteed. */
|
147
|
-
typedef struct {
|
148
|
-
const census_context *context;
|
149
|
-
int base;
|
150
|
-
int index;
|
151
|
-
char *kvm;
|
152
|
-
} census_context_iterator;
|
153
|
-
|
154
|
-
/** Initialize a census_tag_iterator. Must be called before first use. */
|
155
|
-
CENSUSAPI void census_context_initialize_iterator(
|
156
|
-
const census_context *context, census_context_iterator *iterator);
|
157
|
-
|
158
|
-
/** Get the contents of the "next" tag in the context. If there are no more
|
159
|
-
tags, returns 0 (and 'tag' contents will be unchanged), otherwise returns 1.
|
160
|
-
*/
|
161
|
-
CENSUSAPI int census_context_next_tag(census_context_iterator *iterator,
|
162
|
-
census_tag *tag);
|
163
|
-
|
164
|
-
/** Get a context tag by key. Returns 0 if the key is not present. */
|
165
|
-
CENSUSAPI int census_context_get_tag(const census_context *context,
|
166
|
-
const char *key, census_tag *tag);
|
167
|
-
|
168
|
-
/** Tag set encode/decode functionality. These functions are intended
|
169
|
-
for use by RPC systems only, for purposes of transmitting/receiving contexts.
|
170
|
-
*/
|
171
|
-
|
172
|
-
/** Encode a context into a buffer.
|
173
|
-
@param context context to be encoded
|
174
|
-
@param buffer buffer into which the context will be encoded.
|
175
|
-
@param buf_size number of available bytes in buffer.
|
176
|
-
@return The number of buffer bytes consumed for the encoded context, or
|
177
|
-
zero if the buffer was of insufficient size. */
|
178
|
-
CENSUSAPI size_t census_context_encode(const census_context *context,
|
179
|
-
char *buffer, size_t buf_size);
|
180
|
-
|
181
|
-
/** Decode context buffer encoded with census_context_encode(). Returns NULL
|
182
|
-
if there is an error in parsing either buffer. */
|
183
|
-
CENSUSAPI census_context *census_context_decode(const char *buffer,
|
184
|
-
size_t size);
|
185
|
-
|
186
|
-
/** Distributed traces can have a number of options. */
|
187
|
-
enum census_trace_mask_values {
|
188
|
-
CENSUS_TRACE_MASK_NONE = 0, /** Default, empty flags */
|
189
|
-
CENSUS_TRACE_MASK_IS_SAMPLED = 1 /** RPC tracing enabled for this context. */
|
190
|
-
};
|
191
|
-
|
192
|
-
/** Get the current trace mask associated with this context. The value returned
|
193
|
-
will be the logical OR of census_trace_mask_values values. */
|
194
|
-
CENSUSAPI int census_trace_mask(const census_context *context);
|
195
|
-
|
196
|
-
/** Set the trace mask associated with a context. */
|
197
|
-
CENSUSAPI void census_set_trace_mask(int trace_mask);
|
198
|
-
|
199
|
-
/** The concept of "operation" is a fundamental concept for Census. In an RPC
|
200
|
-
system, an operation typically represents a single RPC, or a significant
|
201
|
-
sub-part thereof (e.g. a single logical "read" RPC to a distributed storage
|
202
|
-
system might do several other actions in parallel, from looking up metadata
|
203
|
-
indices to making requests of other services - each of these could be a
|
204
|
-
sub-operation with the larger RPC operation). Census uses operations for the
|
205
|
-
following:
|
206
|
-
|
207
|
-
CPU accounting: If enabled, census will measure the thread CPU time
|
208
|
-
consumed between operation start and end times.
|
209
|
-
|
210
|
-
Active operations: Census will maintain information on all currently
|
211
|
-
active operations.
|
212
|
-
|
213
|
-
Distributed tracing: Each operation serves as a logical trace span.
|
214
|
-
|
215
|
-
Stats collection: Stats are broken down by operation (e.g. latency
|
216
|
-
breakdown for each unique RPC path).
|
217
|
-
|
218
|
-
The following functions serve to delineate the start and stop points for
|
219
|
-
each logical operation. */
|
220
|
-
|
221
|
-
/**
|
222
|
-
This structure represents a timestamp as used by census to record the time
|
223
|
-
at which an operation begins.
|
224
|
-
*/
|
225
|
-
typedef struct {
|
226
|
-
/** Use gpr_timespec for default implementation. High performance
|
227
|
-
* implementations should use a cycle-counter based timestamp. */
|
228
|
-
gpr_timespec ts;
|
229
|
-
} census_timestamp;
|
230
|
-
|
231
|
-
/**
|
232
|
-
Mark the beginning of an RPC operation. The information required to call the
|
233
|
-
functions to record the start of RPC operations (both client and server) may
|
234
|
-
not be callable at the true start time of the operation, due to information
|
235
|
-
not being available (e.g. the census context data will not be available in a
|
236
|
-
server RPC until at least initial metadata has been processed). To ensure
|
237
|
-
correct CPU accounting and latency recording, RPC systems can call this
|
238
|
-
function to get the timestamp of operation beginning. This can later be used
|
239
|
-
as an argument to census_start_{client,server}_rpc_op(). NB: for correct
|
240
|
-
CPU accounting, the system must guarantee that the same thread is used
|
241
|
-
for all request processing after this function is called.
|
242
|
-
|
243
|
-
@return A timestamp representing the operation start time.
|
244
|
-
*/
|
245
|
-
CENSUSAPI census_timestamp census_start_rpc_op_timestamp(void);
|
246
|
-
|
247
|
-
/**
|
248
|
-
Represent functions to map RPC name ID to service/method names. Census
|
249
|
-
breaks down all RPC stats by service and method names. We leave the
|
250
|
-
definition and format of these to the RPC system. For efficiency purposes,
|
251
|
-
we encode these as a single 64 bit identifier, and allow the RPC system to
|
252
|
-
provide a structure for functions that can convert these to service and
|
253
|
-
method strings.
|
254
|
-
|
255
|
-
TODO(aveitch): Instead of providing this as an argument to the rpc_start_op()
|
256
|
-
functions, maybe it should be set once at census initialization.
|
257
|
-
*/
|
258
|
-
typedef struct {
|
259
|
-
const char *(*get_rpc_service_name)(int64_t id);
|
260
|
-
const char *(*get_rpc_method_name)(int64_t id);
|
261
|
-
} census_rpc_name_info;
|
262
|
-
|
263
|
-
/**
|
264
|
-
Start a client rpc operation. This function should be called as early in the
|
265
|
-
client RPC path as possible. This function will create a new context. If
|
266
|
-
the context argument is non-null, then the new context will inherit all
|
267
|
-
its properties, with the following changes:
|
268
|
-
- create a new operation ID for the new context, marking it as a child of
|
269
|
-
the previous operation.
|
270
|
-
- use the new RPC path and peer information for tracing and stats
|
271
|
-
collection purposes, rather than those from the original context
|
272
|
-
|
273
|
-
If the context argument is NULL, then a new root context is created. This
|
274
|
-
is particularly important for tracing purposes (the trace spans generated
|
275
|
-
will be unassociated with any other trace spans, except those
|
276
|
-
downstream). The trace_mask will be used for tracing operations associated
|
277
|
-
with the new context.
|
278
|
-
|
279
|
-
In some RPC systems (e.g. where load balancing is used), peer information
|
280
|
-
may not be available at the time the operation starts. In this case, use a
|
281
|
-
NULL value for peer, and set it later using the
|
282
|
-
census_set_rpc_client_peer() function.
|
283
|
-
|
284
|
-
@param context The parent context. Can be NULL.
|
285
|
-
@param rpc_name_id The rpc name identifier to be associated with this RPC.
|
286
|
-
@param rpc_name_info Used to decode rpc_name_id.
|
287
|
-
@param peer RPC peer. If not available at the time, NULL can be used,
|
288
|
-
and a later census_set_rpc_client_peer() call made.
|
289
|
-
@param trace_mask An OR of census_trace_mask_values values. Only used in
|
290
|
-
the creation of a new root context (context == NULL).
|
291
|
-
@param start_time A timestamp returned from census_start_rpc_op_timestamp().
|
292
|
-
Can be NULL. Used to set the true time the operation
|
293
|
-
begins.
|
294
|
-
|
295
|
-
@return A new census context.
|
296
|
-
*/
|
297
|
-
CENSUSAPI census_context *census_start_client_rpc_op(
|
298
|
-
const census_context *context, int64_t rpc_name_id,
|
299
|
-
const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask,
|
300
|
-
const census_timestamp *start_time);
|
301
|
-
|
302
|
-
/**
|
303
|
-
Add peer information to a context representing a client RPC operation.
|
304
|
-
*/
|
305
|
-
CENSUSAPI void census_set_rpc_client_peer(census_context *context,
|
306
|
-
const char *peer);
|
307
|
-
|
308
|
-
/**
|
309
|
-
Start a server RPC operation. Returns a new context to be used in future
|
310
|
-
census calls. If buffer is non-NULL, then the buffer contents should
|
311
|
-
represent the client context, as generated by census_context_serialize().
|
312
|
-
If buffer is NULL, a new root context is created.
|
313
|
-
|
314
|
-
@param buffer Buffer containing bytes output from census_context_serialize().
|
315
|
-
@param rpc_name_id The rpc name identifier to be associated with this RPC.
|
316
|
-
@param rpc_name_info Used to decode rpc_name_id.
|
317
|
-
@param peer RPC peer.
|
318
|
-
@param trace_mask An OR of census_trace_mask_values values. Only used in
|
319
|
-
the creation of a new root context (buffer == NULL).
|
320
|
-
@param start_time A timestamp returned from census_start_rpc_op_timestamp().
|
321
|
-
Can be NULL. Used to set the true time the operation
|
322
|
-
begins.
|
323
|
-
|
324
|
-
@return A new census context.
|
325
|
-
*/
|
326
|
-
CENSUSAPI census_context *census_start_server_rpc_op(
|
327
|
-
const char *buffer, int64_t rpc_name_id,
|
328
|
-
const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask,
|
329
|
-
census_timestamp *start_time);
|
330
|
-
|
331
|
-
/**
|
332
|
-
Start a new, non-RPC operation. In general, this function works very
|
333
|
-
similarly to census_start_client_rpc_op, with the primary difference being
|
334
|
-
the replacement of host/path information with the more generic family/name
|
335
|
-
tags. If the context argument is non-null, then the new context will
|
336
|
-
inherit all its properties, with the following changes:
|
337
|
-
- create a new operation ID for the new context, marking it as a child of
|
338
|
-
the previous operation.
|
339
|
-
- use the family and name information for tracing and stats collection
|
340
|
-
purposes, rather than those from the original context
|
341
|
-
|
342
|
-
If the context argument is NULL, then a new root context is created. This
|
343
|
-
is particularly important for tracing purposes (the trace spans generated
|
344
|
-
will be unassociated with any other trace spans, except those
|
345
|
-
downstream). The trace_mask will be used for tracing
|
346
|
-
operations associated with the new context.
|
347
|
-
|
348
|
-
@param context The base context. Can be NULL.
|
349
|
-
@param family Family name to associate with the trace
|
350
|
-
@param name Name within family to associate with traces/stats
|
351
|
-
@param trace_mask An OR of census_trace_mask_values values. Only used if
|
352
|
-
context is NULL.
|
353
|
-
|
354
|
-
@return A new census context.
|
355
|
-
*/
|
356
|
-
CENSUSAPI census_context *census_start_op(census_context *context,
|
357
|
-
const char *family, const char *name,
|
358
|
-
int trace_mask);
|
359
|
-
|
360
|
-
/**
|
361
|
-
End an operation started by any of the census_start_*_op*() calls. The
|
362
|
-
context used in this call will no longer be valid once this function
|
363
|
-
completes.
|
364
|
-
|
365
|
-
@param context Context associated with operation which is ending.
|
366
|
-
@param status status associated with the operation. Not interpreted by
|
367
|
-
census.
|
368
|
-
*/
|
369
|
-
CENSUSAPI void census_end_op(census_context *context, int status);
|
370
|
-
|
371
|
-
#define CENSUS_TRACE_RECORD_START_OP ((uint32_t)0)
|
372
|
-
#define CENSUS_TRACE_RECORD_END_OP ((uint32_t)1)
|
373
|
-
|
374
|
-
/** Insert a trace record into the trace stream. The record consists of an
|
375
|
-
arbitrary size buffer, the size of which is provided in 'n'.
|
376
|
-
@param context Trace context
|
377
|
-
@param type User-defined type to associate with trace entry.
|
378
|
-
@param buffer Pointer to buffer to use
|
379
|
-
@param n Number of bytes in buffer
|
380
|
-
*/
|
381
|
-
CENSUSAPI void census_trace_print(census_context *context, uint32_t type,
|
382
|
-
const char *buffer, size_t n);
|
383
|
-
|
384
|
-
/** Trace record. */
|
385
|
-
typedef struct {
|
386
|
-
census_timestamp timestamp; /** Time of record creation */
|
387
|
-
uint64_t trace_id; /** Trace ID associated with record */
|
388
|
-
uint64_t op_id; /** Operation ID associated with record */
|
389
|
-
uint32_t type; /** Type (as used in census_trace_print() */
|
390
|
-
const char *buffer; /** Buffer (from census_trace_print() */
|
391
|
-
size_t buf_size; /** Number of bytes inside buffer */
|
392
|
-
} census_trace_record;
|
393
|
-
|
394
|
-
/** Start a scan of existing trace records. While a scan is ongoing, addition
|
395
|
-
of new trace records will be blocked if the underlying trace buffers
|
396
|
-
fill up, so trace processing systems should endeavor to complete
|
397
|
-
reading as soon as possible.
|
398
|
-
@param consume if non-zero, indicates that reading records also "consumes"
|
399
|
-
the previously read record - i.e. releases space in the trace log
|
400
|
-
while scanning is ongoing.
|
401
|
-
@returns 0 on success, non-zero on failure (e.g. if a scan is already ongoing)
|
402
|
-
*/
|
403
|
-
CENSUSAPI int census_trace_scan_start(int consume);
|
404
|
-
|
405
|
-
/** Get a trace record. The data pointed to by the trace buffer is guaranteed
|
406
|
-
stable until the next census_get_trace_record() call (if the consume
|
407
|
-
argument to census_trace_scan_start was non-zero) or census_trace_scan_end()
|
408
|
-
is called (otherwise).
|
409
|
-
@param trace_record structure that will be filled in with oldest trace record.
|
410
|
-
@returns -1 if an error occurred (e.g. no previous call to
|
411
|
-
census_trace_scan_start()), 0 if there is no more trace data (and
|
412
|
-
trace_record will not be modified) or 1 otherwise.
|
413
|
-
*/
|
414
|
-
CENSUSAPI int census_get_trace_record(census_trace_record *trace_record);
|
415
|
-
|
416
|
-
/** End a scan previously started by census_trace_scan_start() */
|
417
|
-
CENSUSAPI void census_trace_scan_end();
|
418
|
-
|
419
|
-
/** Core stats collection API's. The following concepts are used:
|
420
|
-
* Resource: Users record measurements for a single resource. Examples
|
421
|
-
include RPC latency, CPU seconds consumed, and bytes transmitted.
|
422
|
-
* Aggregation: An aggregation of a set of measurements. Census supports the
|
423
|
-
following aggregation types:
|
424
|
-
* Distribution - statistical distribution information, used for
|
425
|
-
recording average, standard deviation etc. Can include a histogram.
|
426
|
-
* Interval - a count of events that happen in a rolling time window.
|
427
|
-
* View: A view is a combination of a Resource, a set of tag keys and an
|
428
|
-
Aggregation. When a measurement for a Resource matches the View tags, it is
|
429
|
-
recorded (for each unique set of tag values) using the Aggregation type.
|
430
|
-
Each resource can have an arbitrary number of views by which it will be
|
431
|
-
broken down.
|
432
|
-
|
433
|
-
Census uses protos to define each of the above, and output results. This
|
434
|
-
ensures unification across the different language and runtime
|
435
|
-
implementations. The proto definitions can be found in src/proto/census.
|
436
|
-
*/
|
437
|
-
|
438
|
-
/** Define a new resource. `resource_pb` should contain an encoded Resource
|
439
|
-
protobuf, `resource_pb_size` being the size of the buffer. Returns a -ve
|
440
|
-
value on error, or a positive (>= 0) resource id (for use in
|
441
|
-
census_delete_resource() and census_record_values()). In order to be valid, a
|
442
|
-
resource must have a name, and at least one numerator in its unit type. The
|
443
|
-
resource name must be unique, and an error will be returned if it is not. */
|
444
|
-
CENSUSAPI int32_t census_define_resource(const uint8_t *resource_pb,
|
445
|
-
size_t resource_pb_size);
|
446
|
-
|
447
|
-
/** Delete a resource created by census_define_resource(). */
|
448
|
-
CENSUSAPI void census_delete_resource(int32_t resource_id);
|
449
|
-
|
450
|
-
/** Determine the id of a resource, given its name. returns -1 if the resource
|
451
|
-
does not exist. */
|
452
|
-
CENSUSAPI int32_t census_resource_id(const char *name);
|
453
|
-
|
454
|
-
/** A single value to be recorded comprises two parts: an ID for the particular
|
455
|
-
* resource and the value to be recorded against it. */
|
456
|
-
typedef struct {
|
457
|
-
int32_t resource_id;
|
458
|
-
double value;
|
459
|
-
} census_value;
|
460
|
-
|
461
|
-
/** Record new usage values against the given context. */
|
462
|
-
CENSUSAPI void census_record_values(census_context *context,
|
463
|
-
census_value *values, size_t nvalues);
|
464
|
-
|
465
34
|
#ifdef __cplusplus
|
466
35
|
}
|
467
36
|
#endif
|
data/include/grpc/compression.h
CHANGED
@@ -33,24 +33,24 @@ extern "C" {
|
|
33
33
|
/** Parses the \a slice as a grpc_compression_algorithm instance and updating \a
|
34
34
|
* algorithm. Returns 1 upon success, 0 otherwise. */
|
35
35
|
GRPCAPI int grpc_compression_algorithm_parse(
|
36
|
-
grpc_slice value, grpc_compression_algorithm
|
36
|
+
grpc_slice value, grpc_compression_algorithm* algorithm);
|
37
37
|
|
38
38
|
/** Parses the \a slice as a grpc_stream_compression_algorithm instance and
|
39
39
|
* updating \a algorithm. Returns 1 upon success, 0 otherwise. */
|
40
40
|
int grpc_stream_compression_algorithm_parse(
|
41
|
-
grpc_slice name, grpc_stream_compression_algorithm
|
41
|
+
grpc_slice name, grpc_stream_compression_algorithm* algorithm);
|
42
42
|
|
43
43
|
/** Updates \a name with the encoding name corresponding to a valid \a
|
44
44
|
* algorithm. Note that \a name is statically allocated and must *not* be freed.
|
45
45
|
* Returns 1 upon success, 0 otherwise. */
|
46
46
|
GRPCAPI int grpc_compression_algorithm_name(
|
47
|
-
grpc_compression_algorithm algorithm, const char
|
47
|
+
grpc_compression_algorithm algorithm, const char** name);
|
48
48
|
|
49
49
|
/** Updates \a name with the encoding name corresponding to a valid \a
|
50
50
|
* algorithm. Note that \a name is statically allocated and must *not* be freed.
|
51
51
|
* Returns 1 upon success, 0 otherwise. */
|
52
52
|
GRPCAPI int grpc_stream_compression_algorithm_name(
|
53
|
-
grpc_stream_compression_algorithm algorithm, const char
|
53
|
+
grpc_stream_compression_algorithm algorithm, const char** name);
|
54
54
|
|
55
55
|
/** Returns the compression algorithm corresponding to \a level for the
|
56
56
|
* compression algorithms encoded in the \a accepted_encodings bitset.
|
@@ -66,23 +66,23 @@ GRPCAPI grpc_stream_compression_algorithm
|
|
66
66
|
grpc_stream_compression_algorithm_for_level(grpc_stream_compression_level level,
|
67
67
|
uint32_t accepted_stream_encodings);
|
68
68
|
|
69
|
-
GRPCAPI void grpc_compression_options_init(grpc_compression_options
|
69
|
+
GRPCAPI void grpc_compression_options_init(grpc_compression_options* opts);
|
70
70
|
|
71
71
|
/** Mark \a algorithm as enabled in \a opts. */
|
72
72
|
GRPCAPI void grpc_compression_options_enable_algorithm(
|
73
|
-
grpc_compression_options
|
73
|
+
grpc_compression_options* opts, grpc_compression_algorithm algorithm);
|
74
74
|
|
75
75
|
/** Mark \a algorithm as disabled in \a opts. */
|
76
76
|
GRPCAPI void grpc_compression_options_disable_algorithm(
|
77
|
-
grpc_compression_options
|
77
|
+
grpc_compression_options* opts, grpc_compression_algorithm algorithm);
|
78
78
|
|
79
79
|
/** Returns true if \a algorithm is marked as enabled in \a opts. */
|
80
80
|
GRPCAPI int grpc_compression_options_is_algorithm_enabled(
|
81
|
-
const grpc_compression_options
|
81
|
+
const grpc_compression_options* opts, grpc_compression_algorithm algorithm);
|
82
82
|
|
83
83
|
/** Returns true if \a algorithm is marked as enabled in \a opts. */
|
84
84
|
GRPCAPI int grpc_compression_options_is_stream_compression_algorithm_enabled(
|
85
|
-
const grpc_compression_options
|
85
|
+
const grpc_compression_options* opts,
|
86
86
|
grpc_stream_compression_algorithm algorithm);
|
87
87
|
|
88
88
|
#ifdef __cplusplus
|