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
@@ -29,23 +29,20 @@
|
|
29
29
|
(h) *= 0xc2b2ae35; \
|
30
30
|
(h) ^= (h) >> 16;
|
31
31
|
|
32
|
-
uint32_t gpr_murmur_hash3(const void
|
33
|
-
const uint8_t *data = (const uint8_t *)key;
|
34
|
-
const size_t nblocks = len / 4;
|
35
|
-
int i;
|
36
|
-
|
32
|
+
uint32_t gpr_murmur_hash3(const void* key, size_t len, uint32_t seed) {
|
37
33
|
uint32_t h1 = seed;
|
38
34
|
uint32_t k1;
|
39
35
|
|
40
36
|
const uint32_t c1 = 0xcc9e2d51;
|
41
37
|
const uint32_t c2 = 0x1b873593;
|
42
38
|
|
43
|
-
const
|
44
|
-
const
|
39
|
+
const uint8_t* keyptr = (const uint8_t*)key;
|
40
|
+
const size_t bsize = sizeof(k1);
|
41
|
+
const size_t nblocks = len / bsize;
|
45
42
|
|
46
43
|
/* body */
|
47
|
-
for (i =
|
48
|
-
memcpy(&k1,
|
44
|
+
for (size_t i = 0; i < nblocks; i++, keyptr += bsize) {
|
45
|
+
memcpy(&k1, keyptr, bsize);
|
49
46
|
|
50
47
|
k1 *= c1;
|
51
48
|
k1 = ROTL32(k1, 15);
|
@@ -61,13 +58,13 @@ uint32_t gpr_murmur_hash3(const void *key, size_t len, uint32_t seed) {
|
|
61
58
|
/* tail */
|
62
59
|
switch (len & 3) {
|
63
60
|
case 3:
|
64
|
-
k1 ^= ((uint32_t)
|
61
|
+
k1 ^= ((uint32_t)keyptr[2]) << 16;
|
65
62
|
/* fallthrough */
|
66
63
|
case 2:
|
67
|
-
k1 ^= ((uint32_t)
|
64
|
+
k1 ^= ((uint32_t)keyptr[1]) << 8;
|
68
65
|
/* fallthrough */
|
69
66
|
case 1:
|
70
|
-
k1 ^=
|
67
|
+
k1 ^= keyptr[0];
|
71
68
|
k1 *= c1;
|
72
69
|
k1 = ROTL32(k1, 15);
|
73
70
|
k1 *= c2;
|
@@ -23,7 +23,15 @@
|
|
23
23
|
|
24
24
|
#include <stddef.h>
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
26
30
|
/* compute the hash of key (length len) */
|
27
|
-
uint32_t gpr_murmur_hash3(const void
|
31
|
+
uint32_t gpr_murmur_hash3(const void* key, size_t len, uint32_t seed);
|
32
|
+
|
33
|
+
#ifdef __cplusplus
|
34
|
+
}
|
35
|
+
#endif
|
28
36
|
|
29
37
|
#endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */
|
@@ -23,11 +23,18 @@
|
|
23
23
|
|
24
24
|
/* Simple spinlock. No backoff strategy, gpr_spinlock_lock is almost always
|
25
25
|
a concurrency code smell. */
|
26
|
-
typedef struct {
|
26
|
+
typedef struct {
|
27
|
+
gpr_atm atm;
|
28
|
+
} gpr_spinlock;
|
27
29
|
|
30
|
+
#ifdef __cplusplus
|
31
|
+
#define GPR_SPINLOCK_INITIALIZER (gpr_spinlock{0})
|
32
|
+
#else
|
28
33
|
#define GPR_SPINLOCK_INITIALIZER ((gpr_spinlock){0})
|
34
|
+
#endif
|
29
35
|
#define GPR_SPINLOCK_STATIC_INITIALIZER \
|
30
36
|
{ 0 }
|
37
|
+
|
31
38
|
#define gpr_spinlock_trylock(lock) (gpr_atm_acq_cas(&(lock)->atm, 0, 1))
|
32
39
|
#define gpr_spinlock_unlock(lock) (gpr_atm_rel_store(&(lock)->atm, 0))
|
33
40
|
#define gpr_spinlock_lock(lock) \
|
@@ -27,18 +27,19 @@
|
|
27
27
|
#include <grpc/support/alloc.h>
|
28
28
|
#include <grpc/support/log.h>
|
29
29
|
#include <grpc/support/port_platform.h>
|
30
|
+
#include <grpc/support/string_util.h>
|
30
31
|
#include <grpc/support/useful.h>
|
31
32
|
|
32
|
-
char
|
33
|
-
char
|
33
|
+
char* gpr_strdup(const char* src) {
|
34
|
+
char* dst;
|
34
35
|
size_t len;
|
35
36
|
|
36
37
|
if (!src) {
|
37
|
-
return
|
38
|
+
return nullptr;
|
38
39
|
}
|
39
40
|
|
40
41
|
len = strlen(src) + 1;
|
41
|
-
dst = (char
|
42
|
+
dst = (char*)gpr_malloc(len);
|
42
43
|
|
43
44
|
memcpy(dst, src, len);
|
44
45
|
|
@@ -48,28 +49,28 @@ char *gpr_strdup(const char *src) {
|
|
48
49
|
typedef struct {
|
49
50
|
size_t capacity;
|
50
51
|
size_t length;
|
51
|
-
char
|
52
|
+
char* data;
|
52
53
|
} dump_out;
|
53
54
|
|
54
55
|
static dump_out dump_out_create(void) {
|
55
|
-
dump_out r = {0, 0,
|
56
|
+
dump_out r = {0, 0, nullptr};
|
56
57
|
return r;
|
57
58
|
}
|
58
59
|
|
59
|
-
static void dump_out_append(dump_out
|
60
|
+
static void dump_out_append(dump_out* out, char c) {
|
60
61
|
if (out->length == out->capacity) {
|
61
62
|
out->capacity = GPR_MAX(8, 2 * out->capacity);
|
62
|
-
out->data = (char
|
63
|
+
out->data = (char*)gpr_realloc(out->data, out->capacity);
|
63
64
|
}
|
64
65
|
out->data[out->length++] = c;
|
65
66
|
}
|
66
67
|
|
67
|
-
static void hexdump(dump_out
|
68
|
-
static const char
|
68
|
+
static void hexdump(dump_out* out, const char* buf, size_t len) {
|
69
|
+
static const char* hex = "0123456789abcdef";
|
69
70
|
|
70
|
-
const uint8_t
|
71
|
-
const uint8_t
|
72
|
-
const uint8_t
|
71
|
+
const uint8_t* const beg = (const uint8_t*)buf;
|
72
|
+
const uint8_t* const end = beg + len;
|
73
|
+
const uint8_t* cur;
|
73
74
|
|
74
75
|
for (cur = beg; cur != end; ++cur) {
|
75
76
|
if (cur != beg) dump_out_append(out, ' ');
|
@@ -78,24 +79,24 @@ static void hexdump(dump_out *out, const char *buf, size_t len) {
|
|
78
79
|
}
|
79
80
|
}
|
80
81
|
|
81
|
-
static void asciidump(dump_out
|
82
|
-
const uint8_t
|
83
|
-
const uint8_t
|
84
|
-
const uint8_t
|
82
|
+
static void asciidump(dump_out* out, const char* buf, size_t len) {
|
83
|
+
const uint8_t* const beg = (const uint8_t*)buf;
|
84
|
+
const uint8_t* const end = beg + len;
|
85
|
+
const uint8_t* cur;
|
85
86
|
int out_was_empty = (out->length == 0);
|
86
87
|
if (!out_was_empty) {
|
87
88
|
dump_out_append(out, ' ');
|
88
89
|
dump_out_append(out, '\'');
|
89
90
|
}
|
90
91
|
for (cur = beg; cur != end; ++cur) {
|
91
|
-
dump_out_append(out, (char)(isprint(*cur) ? *(char
|
92
|
+
dump_out_append(out, (char)(isprint(*cur) ? *(char*)cur : '.'));
|
92
93
|
}
|
93
94
|
if (!out_was_empty) {
|
94
95
|
dump_out_append(out, '\'');
|
95
96
|
}
|
96
97
|
}
|
97
98
|
|
98
|
-
char
|
99
|
+
char* gpr_dump(const char* buf, size_t len, uint32_t flags) {
|
99
100
|
dump_out out = dump_out_create();
|
100
101
|
if (flags & GPR_DUMP_HEX) {
|
101
102
|
hexdump(&out, buf, len);
|
@@ -107,7 +108,7 @@ char *gpr_dump(const char *buf, size_t len, uint32_t flags) {
|
|
107
108
|
return out.data;
|
108
109
|
}
|
109
110
|
|
110
|
-
int gpr_parse_bytes_to_uint32(const char
|
111
|
+
int gpr_parse_bytes_to_uint32(const char* buf, size_t len, uint32_t* result) {
|
111
112
|
uint32_t out = 0;
|
112
113
|
uint32_t new_val;
|
113
114
|
size_t i;
|
@@ -125,7 +126,7 @@ int gpr_parse_bytes_to_uint32(const char *buf, size_t len, uint32_t *result) {
|
|
125
126
|
return 1;
|
126
127
|
}
|
127
128
|
|
128
|
-
void gpr_reverse_bytes(char
|
129
|
+
void gpr_reverse_bytes(char* str, int len) {
|
129
130
|
char *p1, *p2;
|
130
131
|
for (p1 = str, p2 = str + len - 1; p2 > p1; ++p1, --p2) {
|
131
132
|
char temp = *p1;
|
@@ -134,7 +135,7 @@ void gpr_reverse_bytes(char *str, int len) {
|
|
134
135
|
}
|
135
136
|
}
|
136
137
|
|
137
|
-
int gpr_ltoa(long value, char
|
138
|
+
int gpr_ltoa(long value, char* string) {
|
138
139
|
long sign;
|
139
140
|
int i = 0;
|
140
141
|
|
@@ -155,7 +156,7 @@ int gpr_ltoa(long value, char *string) {
|
|
155
156
|
return i;
|
156
157
|
}
|
157
158
|
|
158
|
-
int int64_ttoa(int64_t value, char
|
159
|
+
int int64_ttoa(int64_t value, char* string) {
|
159
160
|
int64_t sign;
|
160
161
|
int i = 0;
|
161
162
|
|
@@ -176,33 +177,33 @@ int int64_ttoa(int64_t value, char *string) {
|
|
176
177
|
return i;
|
177
178
|
}
|
178
179
|
|
179
|
-
int gpr_parse_nonnegative_int(const char
|
180
|
-
char
|
180
|
+
int gpr_parse_nonnegative_int(const char* value) {
|
181
|
+
char* end;
|
181
182
|
long result = strtol(value, &end, 0);
|
182
183
|
if (*end != '\0' || result < 0 || result > INT_MAX) return -1;
|
183
184
|
return (int)result;
|
184
185
|
}
|
185
186
|
|
186
|
-
char
|
187
|
+
char* gpr_leftpad(const char* str, char flag, size_t length) {
|
187
188
|
const size_t str_length = strlen(str);
|
188
189
|
const size_t out_length = str_length > length ? str_length : length;
|
189
|
-
char
|
190
|
+
char* out = (char*)gpr_malloc(out_length + 1);
|
190
191
|
memset(out, flag, out_length - str_length);
|
191
192
|
memcpy(out + out_length - str_length, str, str_length);
|
192
193
|
out[out_length] = 0;
|
193
194
|
return out;
|
194
195
|
}
|
195
196
|
|
196
|
-
char
|
197
|
+
char* gpr_strjoin(const char** strs, size_t nstrs, size_t* final_length) {
|
197
198
|
return gpr_strjoin_sep(strs, nstrs, "", final_length);
|
198
199
|
}
|
199
200
|
|
200
|
-
char
|
201
|
-
size_t
|
201
|
+
char* gpr_strjoin_sep(const char** strs, size_t nstrs, const char* sep,
|
202
|
+
size_t* final_length) {
|
202
203
|
const size_t sep_len = strlen(sep);
|
203
204
|
size_t out_length = 0;
|
204
205
|
size_t i;
|
205
|
-
char
|
206
|
+
char* out;
|
206
207
|
for (i = 0; i < nstrs; i++) {
|
207
208
|
out_length += strlen(strs[i]);
|
208
209
|
}
|
@@ -210,7 +211,7 @@ char *gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep,
|
|
210
211
|
if (nstrs > 0) {
|
211
212
|
out_length += sep_len * (nstrs - 1); /* separators */
|
212
213
|
}
|
213
|
-
out = (char
|
214
|
+
out = (char*)gpr_malloc(out_length);
|
214
215
|
out_length = 0;
|
215
216
|
for (i = 0; i < nstrs; i++) {
|
216
217
|
const size_t slen = strlen(strs[i]);
|
@@ -222,15 +223,15 @@ char *gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep,
|
|
222
223
|
out_length += slen;
|
223
224
|
}
|
224
225
|
out[out_length] = 0;
|
225
|
-
if (final_length !=
|
226
|
+
if (final_length != nullptr) {
|
226
227
|
*final_length = out_length;
|
227
228
|
}
|
228
229
|
return out;
|
229
230
|
}
|
230
231
|
|
231
|
-
void gpr_strvec_init(gpr_strvec
|
232
|
+
void gpr_strvec_init(gpr_strvec* sv) { memset(sv, 0, sizeof(*sv)); }
|
232
233
|
|
233
|
-
void gpr_strvec_destroy(gpr_strvec
|
234
|
+
void gpr_strvec_destroy(gpr_strvec* sv) {
|
234
235
|
size_t i;
|
235
236
|
for (i = 0; i < sv->count; i++) {
|
236
237
|
gpr_free(sv->strs[i]);
|
@@ -238,19 +239,19 @@ void gpr_strvec_destroy(gpr_strvec *sv) {
|
|
238
239
|
gpr_free(sv->strs);
|
239
240
|
}
|
240
241
|
|
241
|
-
void gpr_strvec_add(gpr_strvec
|
242
|
+
void gpr_strvec_add(gpr_strvec* sv, char* str) {
|
242
243
|
if (sv->count == sv->capacity) {
|
243
244
|
sv->capacity = GPR_MAX(sv->capacity + 8, sv->capacity * 2);
|
244
|
-
sv->strs = (char
|
245
|
+
sv->strs = (char**)gpr_realloc(sv->strs, sizeof(char*) * sv->capacity);
|
245
246
|
}
|
246
247
|
sv->strs[sv->count++] = str;
|
247
248
|
}
|
248
249
|
|
249
|
-
char
|
250
|
-
return gpr_strjoin((const char
|
250
|
+
char* gpr_strvec_flatten(gpr_strvec* sv, size_t* final_length) {
|
251
|
+
return gpr_strjoin((const char**)sv->strs, sv->count, final_length);
|
251
252
|
}
|
252
253
|
|
253
|
-
int gpr_stricmp(const char
|
254
|
+
int gpr_stricmp(const char* a, const char* b) {
|
254
255
|
int ca, cb;
|
255
256
|
do {
|
256
257
|
ca = tolower(*a);
|
@@ -261,23 +262,23 @@ int gpr_stricmp(const char *a, const char *b) {
|
|
261
262
|
return ca - cb;
|
262
263
|
}
|
263
264
|
|
264
|
-
static void add_string_to_split(const char
|
265
|
-
size_t
|
266
|
-
char
|
265
|
+
static void add_string_to_split(const char* beg, const char* end, char*** strs,
|
266
|
+
size_t* nstrs, size_t* capstrs) {
|
267
|
+
char* out = (char*)gpr_malloc((size_t)(end - beg) + 1);
|
267
268
|
memcpy(out, beg, (size_t)(end - beg));
|
268
269
|
out[end - beg] = 0;
|
269
270
|
if (*nstrs == *capstrs) {
|
270
271
|
*capstrs = GPR_MAX(8, 2 * *capstrs);
|
271
|
-
*strs = (char
|
272
|
+
*strs = (char**)gpr_realloc(*strs, sizeof(*strs) * *capstrs);
|
272
273
|
}
|
273
274
|
(*strs)[*nstrs] = out;
|
274
275
|
++*nstrs;
|
275
276
|
}
|
276
277
|
|
277
|
-
void gpr_string_split(const char
|
278
|
-
size_t
|
279
|
-
const char
|
280
|
-
*strs =
|
278
|
+
void gpr_string_split(const char* input, const char* sep, char*** strs,
|
279
|
+
size_t* nstrs) {
|
280
|
+
const char* next;
|
281
|
+
*strs = nullptr;
|
281
282
|
*nstrs = 0;
|
282
283
|
size_t capstrs = 0;
|
283
284
|
while ((next = strstr(input, sep))) {
|
@@ -287,24 +288,24 @@ void gpr_string_split(const char *input, const char *sep, char ***strs,
|
|
287
288
|
add_string_to_split(input, input + strlen(input), strs, nstrs, &capstrs);
|
288
289
|
}
|
289
290
|
|
290
|
-
void
|
291
|
-
if (s ==
|
292
|
-
char
|
291
|
+
void* gpr_memrchr(const void* s, int c, size_t n) {
|
292
|
+
if (s == nullptr) return nullptr;
|
293
|
+
char* b = (char*)s;
|
293
294
|
size_t i;
|
294
295
|
for (i = 0; i < n; i++) {
|
295
296
|
if (b[n - i - 1] == c) {
|
296
297
|
return &b[n - i - 1];
|
297
298
|
}
|
298
299
|
}
|
299
|
-
return
|
300
|
+
return nullptr;
|
300
301
|
}
|
301
302
|
|
302
|
-
bool gpr_is_true(const char
|
303
|
+
bool gpr_is_true(const char* s) {
|
303
304
|
size_t i;
|
304
|
-
if (s ==
|
305
|
+
if (s == nullptr) {
|
305
306
|
return false;
|
306
307
|
}
|
307
|
-
static const char
|
308
|
+
static const char* truthy[] = {"yes", "true", "1"};
|
308
309
|
for (i = 0; i < GPR_ARRAY_SIZE(truthy); i++) {
|
309
310
|
if (0 == gpr_stricmp(s, truthy[i])) {
|
310
311
|
return true;
|
@@ -36,12 +36,12 @@ extern "C" {
|
|
36
36
|
|
37
37
|
/* Converts array buf, of length len, into a C string according to the flags.
|
38
38
|
Result should be freed with gpr_free() */
|
39
|
-
char
|
39
|
+
char* gpr_dump(const char* buf, size_t len, uint32_t flags);
|
40
40
|
|
41
41
|
/* Parses an array of bytes into an integer (base 10). Returns 1 on success,
|
42
42
|
0 on failure. */
|
43
|
-
int gpr_parse_bytes_to_uint32(const char
|
44
|
-
uint32_t
|
43
|
+
int gpr_parse_bytes_to_uint32(const char* data, size_t length,
|
44
|
+
uint32_t* result);
|
45
45
|
|
46
46
|
/* Minimum buffer size for calling ltoa */
|
47
47
|
#define GPR_LTOA_MIN_BUFSIZE (3 * sizeof(long))
|
@@ -49,7 +49,7 @@ int gpr_parse_bytes_to_uint32(const char *data, size_t length,
|
|
49
49
|
/* Convert a long to a string in base 10; returns the length of the
|
50
50
|
output string (or 0 on failure).
|
51
51
|
output must be at least GPR_LTOA_MIN_BUFSIZE bytes long. */
|
52
|
-
int gpr_ltoa(long value, char
|
52
|
+
int gpr_ltoa(long value, char* output);
|
53
53
|
|
54
54
|
/* Minimum buffer size for calling int64toa */
|
55
55
|
#define GPR_INT64TOA_MIN_BUFSIZE (3 * sizeof(int64_t))
|
@@ -59,56 +59,56 @@ output string (or 0 on failure).
|
|
59
59
|
output must be at least GPR_INT64TOA_MIN_BUFSIZE bytes long.
|
60
60
|
NOTE: This function ensures sufficient bit width even on Win x64,
|
61
61
|
where long is 32bit is size.*/
|
62
|
-
int int64_ttoa(int64_t value, char
|
62
|
+
int int64_ttoa(int64_t value, char* output);
|
63
63
|
|
64
64
|
// Parses a non-negative number from a value string. Returns -1 on error.
|
65
|
-
int gpr_parse_nonnegative_int(const char
|
65
|
+
int gpr_parse_nonnegative_int(const char* value);
|
66
66
|
|
67
67
|
/* Reverse a run of bytes */
|
68
|
-
void gpr_reverse_bytes(char
|
68
|
+
void gpr_reverse_bytes(char* str, int len);
|
69
69
|
|
70
70
|
/* Pad a string with flag characters. The given length specifies the minimum
|
71
71
|
field width. The input string is never truncated. */
|
72
|
-
char
|
72
|
+
char* gpr_leftpad(const char* str, char flag, size_t length);
|
73
73
|
|
74
74
|
/* Join a set of strings, returning the resulting string.
|
75
75
|
Total combined length (excluding null terminator) is returned in total_length
|
76
76
|
if it is non-null. */
|
77
|
-
char
|
77
|
+
char* gpr_strjoin(const char** strs, size_t nstrs, size_t* total_length);
|
78
78
|
|
79
79
|
/* Join a set of strings using a separator, returning the resulting string.
|
80
80
|
Total combined length (excluding null terminator) is returned in total_length
|
81
81
|
if it is non-null. */
|
82
|
-
char
|
83
|
-
size_t
|
82
|
+
char* gpr_strjoin_sep(const char** strs, size_t nstrs, const char* sep,
|
83
|
+
size_t* total_length);
|
84
84
|
|
85
|
-
void gpr_string_split(const char
|
86
|
-
size_t
|
85
|
+
void gpr_string_split(const char* input, const char* sep, char*** strs,
|
86
|
+
size_t* nstrs);
|
87
87
|
|
88
88
|
/* A vector of strings... for building up a final string one piece at a time */
|
89
89
|
typedef struct {
|
90
|
-
char
|
90
|
+
char** strs;
|
91
91
|
size_t count;
|
92
92
|
size_t capacity;
|
93
93
|
} gpr_strvec;
|
94
94
|
|
95
95
|
/* Initialize/destroy */
|
96
|
-
void gpr_strvec_init(gpr_strvec
|
97
|
-
void gpr_strvec_destroy(gpr_strvec
|
96
|
+
void gpr_strvec_init(gpr_strvec* strs);
|
97
|
+
void gpr_strvec_destroy(gpr_strvec* strs);
|
98
98
|
/* Add a string to a strvec, takes ownership of the string */
|
99
|
-
void gpr_strvec_add(gpr_strvec
|
99
|
+
void gpr_strvec_add(gpr_strvec* strs, char* add);
|
100
100
|
/* Return a joined string with all added substrings, optionally setting
|
101
101
|
total_length as per gpr_strjoin */
|
102
|
-
char
|
102
|
+
char* gpr_strvec_flatten(gpr_strvec* strs, size_t* total_length);
|
103
103
|
|
104
104
|
/** Case insensitive string comparison... return <0 if lower(a)<lower(b), ==0 if
|
105
105
|
lower(a)==lower(b), >0 if lower(a)>lower(b) */
|
106
|
-
int gpr_stricmp(const char
|
106
|
+
int gpr_stricmp(const char* a, const char* b);
|
107
107
|
|
108
|
-
void
|
108
|
+
void* gpr_memrchr(const void* s, int c, size_t n);
|
109
109
|
|
110
110
|
/** Return true if lower(s) equals "true", "yes" or "1", otherwise false. */
|
111
|
-
bool gpr_is_true(const char
|
111
|
+
bool gpr_is_true(const char* s);
|
112
112
|
#ifdef __cplusplus
|
113
113
|
}
|
114
114
|
#endif
|