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
@@ -32,19 +32,19 @@ const uint8_t grpc_compatible_percent_encoding_unreserved_bytes[256 / 8] = {
|
|
32
32
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
33
33
|
|
34
34
|
static bool is_unreserved_character(uint8_t c,
|
35
|
-
const uint8_t
|
35
|
+
const uint8_t* unreserved_bytes) {
|
36
36
|
return ((unreserved_bytes[c / 8] >> (c % 8)) & 1) != 0;
|
37
37
|
}
|
38
38
|
|
39
39
|
grpc_slice grpc_percent_encode_slice(grpc_slice slice,
|
40
|
-
const uint8_t
|
40
|
+
const uint8_t* unreserved_bytes) {
|
41
41
|
static const uint8_t hex[] = "0123456789ABCDEF";
|
42
42
|
|
43
43
|
// first pass: count the number of bytes needed to output this string
|
44
44
|
size_t output_length = 0;
|
45
|
-
const uint8_t
|
46
|
-
const uint8_t
|
47
|
-
const uint8_t
|
45
|
+
const uint8_t* slice_start = GRPC_SLICE_START_PTR(slice);
|
46
|
+
const uint8_t* slice_end = GRPC_SLICE_END_PTR(slice);
|
47
|
+
const uint8_t* p;
|
48
48
|
bool any_reserved_bytes = false;
|
49
49
|
for (p = slice_start; p < slice_end; p++) {
|
50
50
|
bool unres = is_unreserved_character(*p, unreserved_bytes);
|
@@ -57,7 +57,7 @@ grpc_slice grpc_percent_encode_slice(grpc_slice slice,
|
|
57
57
|
}
|
58
58
|
// second pass: actually encode
|
59
59
|
grpc_slice out = GRPC_SLICE_MALLOC(output_length);
|
60
|
-
uint8_t
|
60
|
+
uint8_t* q = GRPC_SLICE_START_PTR(out);
|
61
61
|
for (p = slice_start; p < slice_end; p++) {
|
62
62
|
if (is_unreserved_character(*p, unreserved_bytes)) {
|
63
63
|
*q++ = *p;
|
@@ -71,7 +71,7 @@ grpc_slice grpc_percent_encode_slice(grpc_slice slice,
|
|
71
71
|
return out;
|
72
72
|
}
|
73
73
|
|
74
|
-
static bool valid_hex(const uint8_t
|
74
|
+
static bool valid_hex(const uint8_t* p, const uint8_t* end) {
|
75
75
|
if (p >= end) return false;
|
76
76
|
return (*p >= '0' && *p <= '9') || (*p >= 'a' && *p <= 'f') ||
|
77
77
|
(*p >= 'A' && *p <= 'F');
|
@@ -85,10 +85,10 @@ static uint8_t dehex(uint8_t c) {
|
|
85
85
|
}
|
86
86
|
|
87
87
|
bool grpc_strict_percent_decode_slice(grpc_slice slice_in,
|
88
|
-
const uint8_t
|
89
|
-
grpc_slice
|
90
|
-
const uint8_t
|
91
|
-
const uint8_t
|
88
|
+
const uint8_t* unreserved_bytes,
|
89
|
+
grpc_slice* slice_out) {
|
90
|
+
const uint8_t* p = GRPC_SLICE_START_PTR(slice_in);
|
91
|
+
const uint8_t* in_end = GRPC_SLICE_END_PTR(slice_in);
|
92
92
|
size_t out_length = 0;
|
93
93
|
bool any_percent_encoded_stuff = false;
|
94
94
|
while (p != in_end) {
|
@@ -111,7 +111,7 @@ bool grpc_strict_percent_decode_slice(grpc_slice slice_in,
|
|
111
111
|
}
|
112
112
|
p = GRPC_SLICE_START_PTR(slice_in);
|
113
113
|
*slice_out = GRPC_SLICE_MALLOC(out_length);
|
114
|
-
uint8_t
|
114
|
+
uint8_t* q = GRPC_SLICE_START_PTR(*slice_out);
|
115
115
|
while (p != in_end) {
|
116
116
|
if (*p == '%') {
|
117
117
|
*q++ = (uint8_t)(dehex(p[1]) << 4) | (dehex(p[2]));
|
@@ -125,8 +125,8 @@ bool grpc_strict_percent_decode_slice(grpc_slice slice_in,
|
|
125
125
|
}
|
126
126
|
|
127
127
|
grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in) {
|
128
|
-
const uint8_t
|
129
|
-
const uint8_t
|
128
|
+
const uint8_t* p = GRPC_SLICE_START_PTR(slice_in);
|
129
|
+
const uint8_t* in_end = GRPC_SLICE_END_PTR(slice_in);
|
130
130
|
size_t out_length = 0;
|
131
131
|
bool any_percent_encoded_stuff = false;
|
132
132
|
while (p != in_end) {
|
@@ -149,7 +149,7 @@ grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in) {
|
|
149
149
|
}
|
150
150
|
p = GRPC_SLICE_START_PTR(slice_in);
|
151
151
|
grpc_slice out = GRPC_SLICE_MALLOC(out_length);
|
152
|
-
uint8_t
|
152
|
+
uint8_t* q = GRPC_SLICE_START_PTR(out);
|
153
153
|
while (p != in_end) {
|
154
154
|
if (*p == '%') {
|
155
155
|
if (!valid_hex(p + 1, in_end) || !valid_hex(p + 2, in_end)) {
|
@@ -30,6 +30,10 @@
|
|
30
30
|
|
31
31
|
#include <grpc/slice.h>
|
32
32
|
|
33
|
+
#ifdef __cplusplus
|
34
|
+
extern "C" {
|
35
|
+
#endif
|
36
|
+
|
33
37
|
/* URL percent encoding spec bitfield (usabel as 'unreserved_bytes' in
|
34
38
|
grpc_percent_encode_slice, grpc_strict_percent_decode_slice).
|
35
39
|
Flags [A-Za-z0-9-_.~] as unreserved bytes for the percent encoding routines
|
@@ -45,7 +49,7 @@ extern const uint8_t grpc_compatible_percent_encoding_unreserved_bytes[256 / 8];
|
|
45
49
|
unreserved_bytes is a bitfield indicating which bytes are considered
|
46
50
|
unreserved and thus do not need percent encoding */
|
47
51
|
grpc_slice grpc_percent_encode_slice(grpc_slice slice,
|
48
|
-
const uint8_t
|
52
|
+
const uint8_t* unreserved_bytes);
|
49
53
|
/* Percent-decode a slice, strictly.
|
50
54
|
If the input is legal (contains no unreserved bytes, and legal % encodings),
|
51
55
|
returns true and sets *slice_out to the decoded slice.
|
@@ -53,11 +57,15 @@ grpc_slice grpc_percent_encode_slice(grpc_slice slice,
|
|
53
57
|
unreserved_bytes is a bitfield indicating which bytes are considered
|
54
58
|
unreserved and thus do not need percent encoding */
|
55
59
|
bool grpc_strict_percent_decode_slice(grpc_slice slice_in,
|
56
|
-
const uint8_t
|
57
|
-
grpc_slice
|
60
|
+
const uint8_t* unreserved_bytes,
|
61
|
+
grpc_slice* slice_out);
|
58
62
|
/* Percent-decode a slice, permissively.
|
59
63
|
If a % triplet can not be decoded, pass it through verbatim.
|
60
64
|
This cannot fail. */
|
61
65
|
grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in);
|
62
66
|
|
67
|
+
#ifdef __cplusplus
|
68
|
+
}
|
69
|
+
#endif
|
70
|
+
|
63
71
|
#endif /* GRPC_CORE_LIB_SLICE_PERCENT_ENCODING_H */
|
@@ -26,8 +26,8 @@
|
|
26
26
|
|
27
27
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
28
28
|
|
29
|
-
char
|
30
|
-
char
|
29
|
+
char* grpc_slice_to_c_string(grpc_slice slice) {
|
30
|
+
char* out = (char*)gpr_malloc(GRPC_SLICE_LENGTH(slice) + 1);
|
31
31
|
memcpy(out, GRPC_SLICE_START_PTR(slice), GRPC_SLICE_LENGTH(slice));
|
32
32
|
out[GRPC_SLICE_LENGTH(slice)] = 0;
|
33
33
|
return out;
|
@@ -35,7 +35,7 @@ char *grpc_slice_to_c_string(grpc_slice slice) {
|
|
35
35
|
|
36
36
|
grpc_slice grpc_empty_slice(void) {
|
37
37
|
grpc_slice out;
|
38
|
-
out.refcount =
|
38
|
+
out.refcount = nullptr;
|
39
39
|
out.data.inlined.length = 0;
|
40
40
|
return out;
|
41
41
|
}
|
@@ -54,7 +54,7 @@ grpc_slice grpc_slice_ref_internal(grpc_slice slice) {
|
|
54
54
|
return slice;
|
55
55
|
}
|
56
56
|
|
57
|
-
void grpc_slice_unref_internal(grpc_exec_ctx
|
57
|
+
void grpc_slice_unref_internal(grpc_exec_ctx* exec_ctx, grpc_slice slice) {
|
58
58
|
if (slice.refcount) {
|
59
59
|
slice.refcount->vtable->unref(exec_ctx, slice.refcount);
|
60
60
|
}
|
@@ -74,8 +74,8 @@ void grpc_slice_unref(grpc_slice slice) {
|
|
74
74
|
|
75
75
|
/* grpc_slice_from_static_string support structure - a refcount that does
|
76
76
|
nothing */
|
77
|
-
static void noop_ref(void
|
78
|
-
static void noop_unref(grpc_exec_ctx
|
77
|
+
static void noop_ref(void* unused) {}
|
78
|
+
static void noop_unref(grpc_exec_ctx* exec_ctx, void* unused) {}
|
79
79
|
|
80
80
|
static const grpc_slice_refcount_vtable noop_refcount_vtable = {
|
81
81
|
noop_ref, noop_unref, grpc_slice_default_eq_impl,
|
@@ -83,15 +83,15 @@ static const grpc_slice_refcount_vtable noop_refcount_vtable = {
|
|
83
83
|
static grpc_slice_refcount noop_refcount = {&noop_refcount_vtable,
|
84
84
|
&noop_refcount};
|
85
85
|
|
86
|
-
grpc_slice grpc_slice_from_static_buffer(const void
|
86
|
+
grpc_slice grpc_slice_from_static_buffer(const void* s, size_t len) {
|
87
87
|
grpc_slice slice;
|
88
88
|
slice.refcount = &noop_refcount;
|
89
|
-
slice.data.refcounted.bytes = (uint8_t
|
89
|
+
slice.data.refcounted.bytes = (uint8_t*)s;
|
90
90
|
slice.data.refcounted.length = len;
|
91
91
|
return slice;
|
92
92
|
}
|
93
93
|
|
94
|
-
grpc_slice grpc_slice_from_static_string(const char
|
94
|
+
grpc_slice grpc_slice_from_static_string(const char* s) {
|
95
95
|
return grpc_slice_from_static_buffer(s, strlen(s));
|
96
96
|
}
|
97
97
|
|
@@ -100,17 +100,17 @@ grpc_slice grpc_slice_from_static_string(const char *s) {
|
|
100
100
|
typedef struct new_slice_refcount {
|
101
101
|
grpc_slice_refcount rc;
|
102
102
|
gpr_refcount refs;
|
103
|
-
void (*user_destroy)(void
|
104
|
-
void
|
103
|
+
void (*user_destroy)(void*);
|
104
|
+
void* user_data;
|
105
105
|
} new_slice_refcount;
|
106
106
|
|
107
|
-
static void new_slice_ref(void
|
108
|
-
new_slice_refcount
|
107
|
+
static void new_slice_ref(void* p) {
|
108
|
+
new_slice_refcount* r = (new_slice_refcount*)p;
|
109
109
|
gpr_ref(&r->refs);
|
110
110
|
}
|
111
111
|
|
112
|
-
static void new_slice_unref(grpc_exec_ctx
|
113
|
-
new_slice_refcount
|
112
|
+
static void new_slice_unref(grpc_exec_ctx* exec_ctx, void* p) {
|
113
|
+
new_slice_refcount* r = (new_slice_refcount*)p;
|
114
114
|
if (gpr_unref(&r->refs)) {
|
115
115
|
r->user_destroy(r->user_data);
|
116
116
|
gpr_free(r);
|
@@ -121,12 +121,12 @@ static const grpc_slice_refcount_vtable new_slice_vtable = {
|
|
121
121
|
new_slice_ref, new_slice_unref, grpc_slice_default_eq_impl,
|
122
122
|
grpc_slice_default_hash_impl};
|
123
123
|
|
124
|
-
grpc_slice grpc_slice_new_with_user_data(void
|
125
|
-
void (*destroy)(void
|
126
|
-
void
|
124
|
+
grpc_slice grpc_slice_new_with_user_data(void* p, size_t len,
|
125
|
+
void (*destroy)(void*),
|
126
|
+
void* user_data) {
|
127
127
|
grpc_slice slice;
|
128
|
-
new_slice_refcount
|
129
|
-
(new_slice_refcount
|
128
|
+
new_slice_refcount* rc =
|
129
|
+
(new_slice_refcount*)gpr_malloc(sizeof(new_slice_refcount));
|
130
130
|
gpr_ref_init(&rc->refs, 1);
|
131
131
|
rc->rc.vtable = &new_slice_vtable;
|
132
132
|
rc->rc.sub_refcount = &rc->rc;
|
@@ -134,12 +134,12 @@ grpc_slice grpc_slice_new_with_user_data(void *p, size_t len,
|
|
134
134
|
rc->user_data = user_data;
|
135
135
|
|
136
136
|
slice.refcount = &rc->rc;
|
137
|
-
slice.data.refcounted.bytes = (uint8_t
|
137
|
+
slice.data.refcounted.bytes = (uint8_t*)p;
|
138
138
|
slice.data.refcounted.length = len;
|
139
139
|
return slice;
|
140
140
|
}
|
141
141
|
|
142
|
-
grpc_slice grpc_slice_new(void
|
142
|
+
grpc_slice grpc_slice_new(void* p, size_t len, void (*destroy)(void*)) {
|
143
143
|
/* Pass "p" to *destroy when the slice is no longer needed. */
|
144
144
|
return grpc_slice_new_with_user_data(p, len, destroy, p);
|
145
145
|
}
|
@@ -149,18 +149,18 @@ grpc_slice grpc_slice_new(void *p, size_t len, void (*destroy)(void *)) {
|
|
149
149
|
typedef struct new_with_len_slice_refcount {
|
150
150
|
grpc_slice_refcount rc;
|
151
151
|
gpr_refcount refs;
|
152
|
-
void
|
152
|
+
void* user_data;
|
153
153
|
size_t user_length;
|
154
|
-
void (*user_destroy)(void
|
154
|
+
void (*user_destroy)(void*, size_t);
|
155
155
|
} new_with_len_slice_refcount;
|
156
156
|
|
157
|
-
static void new_with_len_ref(void
|
158
|
-
new_with_len_slice_refcount
|
157
|
+
static void new_with_len_ref(void* p) {
|
158
|
+
new_with_len_slice_refcount* r = (new_with_len_slice_refcount*)p;
|
159
159
|
gpr_ref(&r->refs);
|
160
160
|
}
|
161
161
|
|
162
|
-
static void new_with_len_unref(grpc_exec_ctx
|
163
|
-
new_with_len_slice_refcount
|
162
|
+
static void new_with_len_unref(grpc_exec_ctx* exec_ctx, void* p) {
|
163
|
+
new_with_len_slice_refcount* r = (new_with_len_slice_refcount*)p;
|
164
164
|
if (gpr_unref(&r->refs)) {
|
165
165
|
r->user_destroy(r->user_data, r->user_length);
|
166
166
|
gpr_free(r);
|
@@ -171,10 +171,10 @@ static const grpc_slice_refcount_vtable new_with_len_vtable = {
|
|
171
171
|
new_with_len_ref, new_with_len_unref, grpc_slice_default_eq_impl,
|
172
172
|
grpc_slice_default_hash_impl};
|
173
173
|
|
174
|
-
grpc_slice grpc_slice_new_with_len(void
|
175
|
-
void (*destroy)(void
|
174
|
+
grpc_slice grpc_slice_new_with_len(void* p, size_t len,
|
175
|
+
void (*destroy)(void*, size_t)) {
|
176
176
|
grpc_slice slice;
|
177
|
-
new_with_len_slice_refcount
|
177
|
+
new_with_len_slice_refcount* rc = (new_with_len_slice_refcount*)gpr_malloc(
|
178
178
|
sizeof(new_with_len_slice_refcount));
|
179
179
|
gpr_ref_init(&rc->refs, 1);
|
180
180
|
rc->rc.vtable = &new_with_len_vtable;
|
@@ -184,19 +184,19 @@ grpc_slice grpc_slice_new_with_len(void *p, size_t len,
|
|
184
184
|
rc->user_length = len;
|
185
185
|
|
186
186
|
slice.refcount = &rc->rc;
|
187
|
-
slice.data.refcounted.bytes = (uint8_t
|
187
|
+
slice.data.refcounted.bytes = (uint8_t*)p;
|
188
188
|
slice.data.refcounted.length = len;
|
189
189
|
return slice;
|
190
190
|
}
|
191
191
|
|
192
|
-
grpc_slice grpc_slice_from_copied_buffer(const char
|
192
|
+
grpc_slice grpc_slice_from_copied_buffer(const char* source, size_t length) {
|
193
193
|
if (length == 0) return grpc_empty_slice();
|
194
194
|
grpc_slice slice = GRPC_SLICE_MALLOC(length);
|
195
195
|
memcpy(GRPC_SLICE_START_PTR(slice), source, length);
|
196
196
|
return slice;
|
197
197
|
}
|
198
198
|
|
199
|
-
grpc_slice grpc_slice_from_copied_string(const char
|
199
|
+
grpc_slice grpc_slice_from_copied_string(const char* source) {
|
200
200
|
return grpc_slice_from_copied_buffer(source, strlen(source));
|
201
201
|
}
|
202
202
|
|
@@ -205,13 +205,13 @@ typedef struct {
|
|
205
205
|
gpr_refcount refs;
|
206
206
|
} malloc_refcount;
|
207
207
|
|
208
|
-
static void malloc_ref(void
|
209
|
-
malloc_refcount
|
208
|
+
static void malloc_ref(void* p) {
|
209
|
+
malloc_refcount* r = (malloc_refcount*)p;
|
210
210
|
gpr_ref(&r->refs);
|
211
211
|
}
|
212
212
|
|
213
|
-
static void malloc_unref(grpc_exec_ctx
|
214
|
-
malloc_refcount
|
213
|
+
static void malloc_unref(grpc_exec_ctx* exec_ctx, void* p) {
|
214
|
+
malloc_refcount* r = (malloc_refcount*)p;
|
215
215
|
if (gpr_unref(&r->refs)) {
|
216
216
|
gpr_free(r);
|
217
217
|
}
|
@@ -233,8 +233,8 @@ grpc_slice grpc_slice_malloc_large(size_t length) {
|
|
233
233
|
refcount is a malloc_refcount
|
234
234
|
bytes is an array of bytes of the requested length
|
235
235
|
Both parts are placed in the same allocation returned from gpr_malloc */
|
236
|
-
malloc_refcount
|
237
|
-
(malloc_refcount
|
236
|
+
malloc_refcount* rc =
|
237
|
+
(malloc_refcount*)gpr_malloc(sizeof(malloc_refcount) + length);
|
238
238
|
|
239
239
|
/* Initial refcount on rc is 1 - and it's up to the caller to release
|
240
240
|
this reference. */
|
@@ -247,7 +247,7 @@ grpc_slice grpc_slice_malloc_large(size_t length) {
|
|
247
247
|
/* The slices refcount points back to the allocated block. */
|
248
248
|
slice.refcount = &rc->base;
|
249
249
|
/* The data bytes are placed immediately after the refcount struct */
|
250
|
-
slice.data.refcounted.bytes = (uint8_t
|
250
|
+
slice.data.refcounted.bytes = (uint8_t*)(rc + 1);
|
251
251
|
/* And the length of the block is set to the requested length */
|
252
252
|
slice.data.refcounted.length = length;
|
253
253
|
return slice;
|
@@ -260,7 +260,7 @@ grpc_slice grpc_slice_malloc(size_t length) {
|
|
260
260
|
return grpc_slice_malloc_large(length);
|
261
261
|
} else {
|
262
262
|
/* small slice: just inline the data */
|
263
|
-
slice.refcount =
|
263
|
+
slice.refcount = nullptr;
|
264
264
|
slice.data.inlined.length = (uint8_t)length;
|
265
265
|
}
|
266
266
|
return slice;
|
@@ -283,7 +283,7 @@ grpc_slice grpc_slice_sub_no_ref(grpc_slice source, size_t begin, size_t end) {
|
|
283
283
|
} else {
|
284
284
|
/* Enforce preconditions */
|
285
285
|
GPR_ASSERT(source.data.inlined.length >= end);
|
286
|
-
subset.refcount =
|
286
|
+
subset.refcount = nullptr;
|
287
287
|
subset.data.inlined.length = (uint8_t)(end - begin);
|
288
288
|
memcpy(subset.data.inlined.bytes, source.data.inlined.bytes + begin,
|
289
289
|
end - begin);
|
@@ -295,7 +295,7 @@ grpc_slice grpc_slice_sub(grpc_slice source, size_t begin, size_t end) {
|
|
295
295
|
grpc_slice subset;
|
296
296
|
|
297
297
|
if (end - begin <= sizeof(subset.data.inlined.bytes)) {
|
298
|
-
subset.refcount =
|
298
|
+
subset.refcount = nullptr;
|
299
299
|
subset.data.inlined.length = (uint8_t)(end - begin);
|
300
300
|
memcpy(subset.data.inlined.bytes, GRPC_SLICE_START_PTR(source) + begin,
|
301
301
|
end - begin);
|
@@ -307,14 +307,14 @@ grpc_slice grpc_slice_sub(grpc_slice source, size_t begin, size_t end) {
|
|
307
307
|
return subset;
|
308
308
|
}
|
309
309
|
|
310
|
-
grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice
|
310
|
+
grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice* source, size_t split,
|
311
311
|
grpc_slice_ref_whom ref_whom) {
|
312
312
|
grpc_slice tail;
|
313
313
|
|
314
|
-
if (source->refcount ==
|
314
|
+
if (source->refcount == nullptr) {
|
315
315
|
/* inlined data, copy it out */
|
316
316
|
GPR_ASSERT(source->data.inlined.length >= split);
|
317
|
-
tail.refcount =
|
317
|
+
tail.refcount = nullptr;
|
318
318
|
tail.data.inlined.length = (uint8_t)(source->data.inlined.length - split);
|
319
319
|
memcpy(tail.data.inlined.bytes, source->data.inlined.bytes + split,
|
320
320
|
tail.data.inlined.length);
|
@@ -325,7 +325,7 @@ grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice *source, size_t split,
|
|
325
325
|
if (tail_length < sizeof(tail.data.inlined.bytes) &&
|
326
326
|
ref_whom != GRPC_SLICE_REF_TAIL) {
|
327
327
|
/* Copy out the bytes - it'll be cheaper than refcounting */
|
328
|
-
tail.refcount =
|
328
|
+
tail.refcount = nullptr;
|
329
329
|
tail.data.inlined.length = (uint8_t)tail_length;
|
330
330
|
memcpy(tail.data.inlined.bytes, source->data.refcounted.bytes + split,
|
331
331
|
tail_length);
|
@@ -358,17 +358,17 @@ grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice *source, size_t split,
|
|
358
358
|
return tail;
|
359
359
|
}
|
360
360
|
|
361
|
-
grpc_slice grpc_slice_split_tail(grpc_slice
|
361
|
+
grpc_slice grpc_slice_split_tail(grpc_slice* source, size_t split) {
|
362
362
|
return grpc_slice_split_tail_maybe_ref(source, split, GRPC_SLICE_REF_BOTH);
|
363
363
|
}
|
364
364
|
|
365
|
-
grpc_slice grpc_slice_split_head(grpc_slice
|
365
|
+
grpc_slice grpc_slice_split_head(grpc_slice* source, size_t split) {
|
366
366
|
grpc_slice head;
|
367
367
|
|
368
|
-
if (source->refcount ==
|
368
|
+
if (source->refcount == nullptr) {
|
369
369
|
GPR_ASSERT(source->data.inlined.length >= split);
|
370
370
|
|
371
|
-
head.refcount =
|
371
|
+
head.refcount = nullptr;
|
372
372
|
head.data.inlined.length = (uint8_t)split;
|
373
373
|
memcpy(head.data.inlined.bytes, source->data.inlined.bytes, split);
|
374
374
|
source->data.inlined.length =
|
@@ -378,7 +378,7 @@ grpc_slice grpc_slice_split_head(grpc_slice *source, size_t split) {
|
|
378
378
|
} else if (split < sizeof(head.data.inlined.bytes)) {
|
379
379
|
GPR_ASSERT(source->data.refcounted.length >= split);
|
380
380
|
|
381
|
-
head.refcount =
|
381
|
+
head.refcount = nullptr;
|
382
382
|
head.data.inlined.length = (uint8_t)split;
|
383
383
|
memcpy(head.data.inlined.bytes, source->data.refcounted.bytes, split);
|
384
384
|
source->refcount = source->refcount->sub_refcount;
|
@@ -423,7 +423,7 @@ int grpc_slice_cmp(grpc_slice a, grpc_slice b) {
|
|
423
423
|
GRPC_SLICE_LENGTH(a));
|
424
424
|
}
|
425
425
|
|
426
|
-
int grpc_slice_str_cmp(grpc_slice a, const char
|
426
|
+
int grpc_slice_str_cmp(grpc_slice a, const char* b) {
|
427
427
|
size_t b_length = strlen(b);
|
428
428
|
int d = (int)(GRPC_SLICE_LENGTH(a) - b_length);
|
429
429
|
if (d != 0) return d;
|
@@ -431,20 +431,20 @@ int grpc_slice_str_cmp(grpc_slice a, const char *b) {
|
|
431
431
|
}
|
432
432
|
|
433
433
|
int grpc_slice_is_equivalent(grpc_slice a, grpc_slice b) {
|
434
|
-
if (a.refcount ==
|
434
|
+
if (a.refcount == nullptr || b.refcount == nullptr) {
|
435
435
|
return grpc_slice_eq(a, b);
|
436
436
|
}
|
437
437
|
return a.data.refcounted.length == b.data.refcounted.length &&
|
438
438
|
a.data.refcounted.bytes == b.data.refcounted.bytes;
|
439
439
|
}
|
440
440
|
|
441
|
-
int grpc_slice_buf_start_eq(grpc_slice a, const void
|
441
|
+
int grpc_slice_buf_start_eq(grpc_slice a, const void* b, size_t len) {
|
442
442
|
if (GRPC_SLICE_LENGTH(a) < len) return 0;
|
443
443
|
return 0 == memcmp(GRPC_SLICE_START_PTR(a), b, len);
|
444
444
|
}
|
445
445
|
|
446
446
|
int grpc_slice_rchr(grpc_slice s, char c) {
|
447
|
-
const char
|
447
|
+
const char* b = (const char*)GRPC_SLICE_START_PTR(s);
|
448
448
|
int i;
|
449
449
|
for (i = (int)GRPC_SLICE_LENGTH(s) - 1; i != -1 && b[i] != c; i--)
|
450
450
|
;
|
@@ -452,16 +452,16 @@ int grpc_slice_rchr(grpc_slice s, char c) {
|
|
452
452
|
}
|
453
453
|
|
454
454
|
int grpc_slice_chr(grpc_slice s, char c) {
|
455
|
-
const char
|
456
|
-
const char
|
457
|
-
return p ==
|
455
|
+
const char* b = (const char*)GRPC_SLICE_START_PTR(s);
|
456
|
+
const char* p = (const char*)memchr(b, c, GRPC_SLICE_LENGTH(s));
|
457
|
+
return p == nullptr ? -1 : (int)(p - b);
|
458
458
|
}
|
459
459
|
|
460
460
|
int grpc_slice_slice(grpc_slice haystack, grpc_slice needle) {
|
461
461
|
size_t haystack_len = GRPC_SLICE_LENGTH(haystack);
|
462
|
-
const uint8_t
|
462
|
+
const uint8_t* haystack_bytes = GRPC_SLICE_START_PTR(haystack);
|
463
463
|
size_t needle_len = GRPC_SLICE_LENGTH(needle);
|
464
|
-
const uint8_t
|
464
|
+
const uint8_t* needle_bytes = GRPC_SLICE_START_PTR(needle);
|
465
465
|
|
466
466
|
if (haystack_len == 0 || needle_len == 0) return -1;
|
467
467
|
if (haystack_len < needle_len) return -1;
|
@@ -469,8 +469,8 @@ int grpc_slice_slice(grpc_slice haystack, grpc_slice needle) {
|
|
469
469
|
return grpc_slice_eq(haystack, needle) ? 0 : -1;
|
470
470
|
if (needle_len == 1) return grpc_slice_chr(haystack, (char)*needle_bytes);
|
471
471
|
|
472
|
-
const uint8_t
|
473
|
-
for (const uint8_t
|
472
|
+
const uint8_t* last = haystack_bytes + haystack_len - needle_len;
|
473
|
+
for (const uint8_t* cur = haystack_bytes; cur != last; ++cur) {
|
474
474
|
if (0 == memcmp(cur, needle_bytes, needle_len)) {
|
475
475
|
return (int)(cur - haystack_bytes);
|
476
476
|
}
|