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
@@ -18,42 +18,40 @@
|
|
18
18
|
|
19
19
|
#include <grpc/grpc.h>
|
20
20
|
|
21
|
-
extern void grpc_http_filters_init(void);
|
22
|
-
extern void grpc_http_filters_shutdown(void);
|
23
|
-
extern void grpc_chttp2_plugin_init(void);
|
24
|
-
extern void grpc_chttp2_plugin_shutdown(void);
|
25
|
-
extern void grpc_tsi_gts_init(void);
|
26
|
-
extern void grpc_tsi_gts_shutdown(void);
|
27
|
-
extern void grpc_deadline_filter_init(void);
|
28
|
-
extern void grpc_deadline_filter_shutdown(void);
|
29
|
-
extern void grpc_client_channel_init(void);
|
30
|
-
extern void grpc_client_channel_shutdown(void);
|
31
|
-
extern void grpc_inproc_plugin_init(void);
|
32
|
-
extern void grpc_inproc_plugin_shutdown(void);
|
33
|
-
extern void grpc_resolver_fake_init(void);
|
34
|
-
extern void grpc_resolver_fake_shutdown(void);
|
35
|
-
extern void grpc_lb_policy_grpclb_init(void);
|
36
|
-
extern void grpc_lb_policy_grpclb_shutdown(void);
|
37
|
-
extern void grpc_lb_policy_pick_first_init(void);
|
38
|
-
extern void grpc_lb_policy_pick_first_shutdown(void);
|
39
|
-
extern void grpc_lb_policy_round_robin_init(void);
|
40
|
-
extern void grpc_lb_policy_round_robin_shutdown(void);
|
41
|
-
extern void grpc_resolver_dns_ares_init(void);
|
42
|
-
extern void grpc_resolver_dns_ares_shutdown(void);
|
43
|
-
extern void grpc_resolver_dns_native_init(void);
|
44
|
-
extern void grpc_resolver_dns_native_shutdown(void);
|
45
|
-
extern void grpc_resolver_sockaddr_init(void);
|
46
|
-
extern void grpc_resolver_sockaddr_shutdown(void);
|
47
|
-
extern void grpc_server_load_reporting_plugin_init(void);
|
48
|
-
extern void grpc_server_load_reporting_plugin_shutdown(void);
|
49
|
-
extern void
|
50
|
-
extern void
|
51
|
-
extern void
|
52
|
-
extern void
|
53
|
-
extern void
|
54
|
-
extern void
|
55
|
-
extern void grpc_workaround_cronet_compression_filter_init(void);
|
56
|
-
extern void grpc_workaround_cronet_compression_filter_shutdown(void);
|
21
|
+
extern "C" void grpc_http_filters_init(void);
|
22
|
+
extern "C" void grpc_http_filters_shutdown(void);
|
23
|
+
extern "C" void grpc_chttp2_plugin_init(void);
|
24
|
+
extern "C" void grpc_chttp2_plugin_shutdown(void);
|
25
|
+
extern "C" void grpc_tsi_gts_init(void);
|
26
|
+
extern "C" void grpc_tsi_gts_shutdown(void);
|
27
|
+
extern "C" void grpc_deadline_filter_init(void);
|
28
|
+
extern "C" void grpc_deadline_filter_shutdown(void);
|
29
|
+
extern "C" void grpc_client_channel_init(void);
|
30
|
+
extern "C" void grpc_client_channel_shutdown(void);
|
31
|
+
extern "C" void grpc_inproc_plugin_init(void);
|
32
|
+
extern "C" void grpc_inproc_plugin_shutdown(void);
|
33
|
+
extern "C" void grpc_resolver_fake_init(void);
|
34
|
+
extern "C" void grpc_resolver_fake_shutdown(void);
|
35
|
+
extern "C" void grpc_lb_policy_grpclb_init(void);
|
36
|
+
extern "C" void grpc_lb_policy_grpclb_shutdown(void);
|
37
|
+
extern "C" void grpc_lb_policy_pick_first_init(void);
|
38
|
+
extern "C" void grpc_lb_policy_pick_first_shutdown(void);
|
39
|
+
extern "C" void grpc_lb_policy_round_robin_init(void);
|
40
|
+
extern "C" void grpc_lb_policy_round_robin_shutdown(void);
|
41
|
+
extern "C" void grpc_resolver_dns_ares_init(void);
|
42
|
+
extern "C" void grpc_resolver_dns_ares_shutdown(void);
|
43
|
+
extern "C" void grpc_resolver_dns_native_init(void);
|
44
|
+
extern "C" void grpc_resolver_dns_native_shutdown(void);
|
45
|
+
extern "C" void grpc_resolver_sockaddr_init(void);
|
46
|
+
extern "C" void grpc_resolver_sockaddr_shutdown(void);
|
47
|
+
extern "C" void grpc_server_load_reporting_plugin_init(void);
|
48
|
+
extern "C" void grpc_server_load_reporting_plugin_shutdown(void);
|
49
|
+
extern "C" void grpc_max_age_filter_init(void);
|
50
|
+
extern "C" void grpc_max_age_filter_shutdown(void);
|
51
|
+
extern "C" void grpc_message_size_filter_init(void);
|
52
|
+
extern "C" void grpc_message_size_filter_shutdown(void);
|
53
|
+
extern "C" void grpc_workaround_cronet_compression_filter_init(void);
|
54
|
+
extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void);
|
57
55
|
|
58
56
|
void grpc_register_built_in_plugins(void) {
|
59
57
|
grpc_register_plugin(grpc_http_filters_init,
|
@@ -84,8 +82,6 @@ void grpc_register_built_in_plugins(void) {
|
|
84
82
|
grpc_resolver_sockaddr_shutdown);
|
85
83
|
grpc_register_plugin(grpc_server_load_reporting_plugin_init,
|
86
84
|
grpc_server_load_reporting_plugin_shutdown);
|
87
|
-
grpc_register_plugin(census_grpc_plugin_init,
|
88
|
-
census_grpc_plugin_shutdown);
|
89
85
|
grpc_register_plugin(grpc_max_age_filter_init,
|
90
86
|
grpc_max_age_filter_shutdown);
|
91
87
|
grpc_register_plugin(grpc_message_size_filter_init,
|
@@ -41,7 +41,7 @@
|
|
41
41
|
where the size field value is the size of the size field plus the size of
|
42
42
|
the data encoded in little endian on 4 bytes. */
|
43
43
|
typedef struct {
|
44
|
-
unsigned char
|
44
|
+
unsigned char* data;
|
45
45
|
size_t size;
|
46
46
|
size_t allocated_size;
|
47
47
|
size_t offset;
|
@@ -63,7 +63,7 @@ typedef struct {
|
|
63
63
|
int needs_incoming_message;
|
64
64
|
tsi_fake_frame incoming_frame;
|
65
65
|
tsi_fake_frame outgoing_frame;
|
66
|
-
unsigned char
|
66
|
+
unsigned char* outgoing_bytes_buffer;
|
67
67
|
size_t outgoing_bytes_buffer_size;
|
68
68
|
tsi_result result;
|
69
69
|
} tsi_fake_handshaker;
|
@@ -85,10 +85,10 @@ typedef struct {
|
|
85
85
|
|
86
86
|
/* --- Utils. ---*/
|
87
87
|
|
88
|
-
static const char
|
88
|
+
static const char* tsi_fake_handshake_message_strings[] = {
|
89
89
|
"CLIENT_INIT", "SERVER_INIT", "CLIENT_FINISHED", "SERVER_FINISHED"};
|
90
90
|
|
91
|
-
static const char
|
91
|
+
static const char* tsi_fake_handshake_message_to_string(int msg) {
|
92
92
|
if (msg < 0 || msg >= TSI_FAKE_HANDSHAKE_MESSAGE_MAX) {
|
93
93
|
gpr_log(GPR_ERROR, "Invalid message %d", msg);
|
94
94
|
return "UNKNOWN";
|
@@ -97,12 +97,11 @@ static const char *tsi_fake_handshake_message_to_string(int msg) {
|
|
97
97
|
}
|
98
98
|
|
99
99
|
static tsi_result tsi_fake_handshake_message_from_string(
|
100
|
-
const char
|
101
|
-
|
102
|
-
for (i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) {
|
100
|
+
const char* msg_string, tsi_fake_handshake_message* msg) {
|
101
|
+
for (int i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) {
|
103
102
|
if (strncmp(msg_string, tsi_fake_handshake_message_strings[i],
|
104
103
|
strlen(tsi_fake_handshake_message_strings[i])) == 0) {
|
105
|
-
*msg = i;
|
104
|
+
*msg = (tsi_fake_handshake_message)i;
|
106
105
|
return TSI_OK;
|
107
106
|
}
|
108
107
|
}
|
@@ -110,22 +109,22 @@ static tsi_result tsi_fake_handshake_message_from_string(
|
|
110
109
|
return TSI_DATA_CORRUPTED;
|
111
110
|
}
|
112
111
|
|
113
|
-
static uint32_t load32_little_endian(const unsigned char
|
112
|
+
static uint32_t load32_little_endian(const unsigned char* buf) {
|
114
113
|
return ((uint32_t)(buf[0]) | (uint32_t)(buf[1] << 8) |
|
115
114
|
(uint32_t)(buf[2] << 16) | (uint32_t)(buf[3] << 24));
|
116
115
|
}
|
117
116
|
|
118
|
-
static void store32_little_endian(uint32_t value, unsigned char
|
117
|
+
static void store32_little_endian(uint32_t value, unsigned char* buf) {
|
119
118
|
buf[3] = (unsigned char)((value >> 24) & 0xFF);
|
120
119
|
buf[2] = (unsigned char)((value >> 16) & 0xFF);
|
121
120
|
buf[1] = (unsigned char)((value >> 8) & 0xFF);
|
122
121
|
buf[0] = (unsigned char)((value)&0xFF);
|
123
122
|
}
|
124
123
|
|
125
|
-
static uint32_t read_frame_size(const grpc_slice_buffer
|
126
|
-
GPR_ASSERT(sb !=
|
124
|
+
static uint32_t read_frame_size(const grpc_slice_buffer* sb) {
|
125
|
+
GPR_ASSERT(sb != nullptr && sb->length >= TSI_FAKE_FRAME_HEADER_SIZE);
|
127
126
|
uint8_t frame_size_buffer[TSI_FAKE_FRAME_HEADER_SIZE];
|
128
|
-
uint8_t
|
127
|
+
uint8_t* buf = frame_size_buffer;
|
129
128
|
/* Copies the first 4 bytes to a temporary buffer. */
|
130
129
|
size_t remaining = TSI_FAKE_FRAME_HEADER_SIZE;
|
131
130
|
for (size_t i = 0; i < sb->count; i++) {
|
@@ -144,7 +143,7 @@ static uint32_t read_frame_size(const grpc_slice_buffer *sb) {
|
|
144
143
|
return load32_little_endian(frame_size_buffer);
|
145
144
|
}
|
146
145
|
|
147
|
-
static void tsi_fake_frame_reset(tsi_fake_frame
|
146
|
+
static void tsi_fake_frame_reset(tsi_fake_frame* frame, int needs_draining) {
|
148
147
|
frame->offset = 0;
|
149
148
|
frame->needs_draining = needs_draining;
|
150
149
|
if (!needs_draining) frame->size = 0;
|
@@ -152,12 +151,13 @@ static void tsi_fake_frame_reset(tsi_fake_frame *frame, int needs_draining) {
|
|
152
151
|
|
153
152
|
/* Checks if the frame's allocated size is at least frame->size, and reallocs
|
154
153
|
* more memory if necessary. */
|
155
|
-
static void tsi_fake_frame_ensure_size(tsi_fake_frame
|
156
|
-
if (frame->data ==
|
154
|
+
static void tsi_fake_frame_ensure_size(tsi_fake_frame* frame) {
|
155
|
+
if (frame->data == nullptr) {
|
157
156
|
frame->allocated_size = frame->size;
|
158
|
-
frame->data = gpr_malloc(frame->allocated_size);
|
157
|
+
frame->data = (unsigned char*)gpr_malloc(frame->allocated_size);
|
159
158
|
} else if (frame->size > frame->allocated_size) {
|
160
|
-
unsigned char
|
159
|
+
unsigned char* new_data =
|
160
|
+
(unsigned char*)gpr_realloc(frame->data, frame->size);
|
161
161
|
frame->data = new_data;
|
162
162
|
frame->allocated_size = frame->size;
|
163
163
|
}
|
@@ -166,17 +166,17 @@ static void tsi_fake_frame_ensure_size(tsi_fake_frame *frame) {
|
|
166
166
|
/* Decodes the serialized fake frame contained in incoming_bytes, and fills
|
167
167
|
* frame with the contents of the decoded frame.
|
168
168
|
* This method should not be called if frame->needs_framing is not 0. */
|
169
|
-
static tsi_result tsi_fake_frame_decode(const unsigned char
|
170
|
-
size_t
|
171
|
-
tsi_fake_frame
|
169
|
+
static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
|
170
|
+
size_t* incoming_bytes_size,
|
171
|
+
tsi_fake_frame* frame) {
|
172
172
|
size_t available_size = *incoming_bytes_size;
|
173
173
|
size_t to_read_size = 0;
|
174
|
-
const unsigned char
|
174
|
+
const unsigned char* bytes_cursor = incoming_bytes;
|
175
175
|
|
176
176
|
if (frame->needs_draining) return TSI_INTERNAL_ERROR;
|
177
|
-
if (frame->data ==
|
177
|
+
if (frame->data == nullptr) {
|
178
178
|
frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE;
|
179
|
-
frame->data = gpr_malloc(frame->allocated_size);
|
179
|
+
frame->data = (unsigned char*)gpr_malloc(frame->allocated_size);
|
180
180
|
}
|
181
181
|
|
182
182
|
if (frame->offset < TSI_FAKE_FRAME_HEADER_SIZE) {
|
@@ -215,9 +215,9 @@ static tsi_result tsi_fake_frame_decode(const unsigned char *incoming_bytes,
|
|
215
215
|
/* Encodes a fake frame into its wire format and places the result in
|
216
216
|
* outgoing_bytes. outgoing_bytes_size indicates the size of the encoded frame.
|
217
217
|
* This method should not be called if frame->needs_framing is 0. */
|
218
|
-
static tsi_result tsi_fake_frame_encode(unsigned char
|
219
|
-
size_t
|
220
|
-
tsi_fake_frame
|
218
|
+
static tsi_result tsi_fake_frame_encode(unsigned char* outgoing_bytes,
|
219
|
+
size_t* outgoing_bytes_size,
|
220
|
+
tsi_fake_frame* frame) {
|
221
221
|
size_t to_write_size = frame->size - frame->offset;
|
222
222
|
if (!frame->needs_draining) return TSI_INTERNAL_ERROR;
|
223
223
|
if (*outgoing_bytes_size < to_write_size) {
|
@@ -233,8 +233,8 @@ static tsi_result tsi_fake_frame_encode(unsigned char *outgoing_bytes,
|
|
233
233
|
|
234
234
|
/* Sets the payload of a fake frame to contain the given data blob, where
|
235
235
|
* data_size indicates the size of data. */
|
236
|
-
static tsi_result tsi_fake_frame_set_data(unsigned char
|
237
|
-
tsi_fake_frame
|
236
|
+
static tsi_result tsi_fake_frame_set_data(unsigned char* data, size_t data_size,
|
237
|
+
tsi_fake_frame* frame) {
|
238
238
|
frame->offset = 0;
|
239
239
|
frame->size = data_size + TSI_FAKE_FRAME_HEADER_SIZE;
|
240
240
|
tsi_fake_frame_ensure_size(frame);
|
@@ -245,24 +245,24 @@ static tsi_result tsi_fake_frame_set_data(unsigned char *data, size_t data_size,
|
|
245
245
|
}
|
246
246
|
|
247
247
|
/* Destroys the contents of a fake frame. */
|
248
|
-
static void tsi_fake_frame_destruct(tsi_fake_frame
|
249
|
-
if (frame->data !=
|
248
|
+
static void tsi_fake_frame_destruct(tsi_fake_frame* frame) {
|
249
|
+
if (frame->data != nullptr) gpr_free(frame->data);
|
250
250
|
}
|
251
251
|
|
252
252
|
/* --- tsi_frame_protector methods implementation. ---*/
|
253
253
|
|
254
|
-
static tsi_result fake_protector_protect(tsi_frame_protector
|
255
|
-
const unsigned char
|
256
|
-
size_t
|
257
|
-
unsigned char
|
258
|
-
size_t
|
254
|
+
static tsi_result fake_protector_protect(tsi_frame_protector* self,
|
255
|
+
const unsigned char* unprotected_bytes,
|
256
|
+
size_t* unprotected_bytes_size,
|
257
|
+
unsigned char* protected_output_frames,
|
258
|
+
size_t* protected_output_frames_size) {
|
259
259
|
tsi_result result = TSI_OK;
|
260
|
-
tsi_fake_frame_protector
|
260
|
+
tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
|
261
261
|
unsigned char frame_header[TSI_FAKE_FRAME_HEADER_SIZE];
|
262
|
-
tsi_fake_frame
|
262
|
+
tsi_fake_frame* frame = &impl->protect_frame;
|
263
263
|
size_t saved_output_size = *protected_output_frames_size;
|
264
264
|
size_t drained_size = 0;
|
265
|
-
size_t
|
265
|
+
size_t* num_bytes_written = protected_output_frames_size;
|
266
266
|
*num_bytes_written = 0;
|
267
267
|
|
268
268
|
/* Try to drain first. */
|
@@ -313,11 +313,11 @@ static tsi_result fake_protector_protect(tsi_frame_protector *self,
|
|
313
313
|
}
|
314
314
|
|
315
315
|
static tsi_result fake_protector_protect_flush(
|
316
|
-
tsi_frame_protector
|
317
|
-
size_t
|
316
|
+
tsi_frame_protector* self, unsigned char* protected_output_frames,
|
317
|
+
size_t* protected_output_frames_size, size_t* still_pending_size) {
|
318
318
|
tsi_result result = TSI_OK;
|
319
|
-
tsi_fake_frame_protector
|
320
|
-
tsi_fake_frame
|
319
|
+
tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
|
320
|
+
tsi_fake_frame* frame = &impl->protect_frame;
|
321
321
|
if (!frame->needs_draining) {
|
322
322
|
/* Create a short frame. */
|
323
323
|
frame->size = frame->offset;
|
@@ -334,15 +334,15 @@ static tsi_result fake_protector_protect_flush(
|
|
334
334
|
}
|
335
335
|
|
336
336
|
static tsi_result fake_protector_unprotect(
|
337
|
-
tsi_frame_protector
|
338
|
-
size_t
|
339
|
-
size_t
|
337
|
+
tsi_frame_protector* self, const unsigned char* protected_frames_bytes,
|
338
|
+
size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes,
|
339
|
+
size_t* unprotected_bytes_size) {
|
340
340
|
tsi_result result = TSI_OK;
|
341
|
-
tsi_fake_frame_protector
|
342
|
-
tsi_fake_frame
|
341
|
+
tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
|
342
|
+
tsi_fake_frame* frame = &impl->unprotect_frame;
|
343
343
|
size_t saved_output_size = *unprotected_bytes_size;
|
344
344
|
size_t drained_size = 0;
|
345
|
-
size_t
|
345
|
+
size_t* num_bytes_written = unprotected_bytes_size;
|
346
346
|
*num_bytes_written = 0;
|
347
347
|
|
348
348
|
/* Try to drain first. */
|
@@ -382,29 +382,32 @@ static tsi_result fake_protector_unprotect(
|
|
382
382
|
return result;
|
383
383
|
}
|
384
384
|
|
385
|
-
static void fake_protector_destroy(tsi_frame_protector
|
386
|
-
tsi_fake_frame_protector
|
385
|
+
static void fake_protector_destroy(tsi_frame_protector* self) {
|
386
|
+
tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
|
387
387
|
tsi_fake_frame_destruct(&impl->protect_frame);
|
388
388
|
tsi_fake_frame_destruct(&impl->unprotect_frame);
|
389
389
|
gpr_free(self);
|
390
390
|
}
|
391
391
|
|
392
392
|
static const tsi_frame_protector_vtable frame_protector_vtable = {
|
393
|
-
fake_protector_protect,
|
394
|
-
|
393
|
+
fake_protector_protect,
|
394
|
+
fake_protector_protect_flush,
|
395
|
+
fake_protector_unprotect,
|
396
|
+
fake_protector_destroy,
|
395
397
|
};
|
396
398
|
|
397
399
|
/* --- tsi_zero_copy_grpc_protector methods implementation. ---*/
|
398
400
|
|
399
401
|
static tsi_result fake_zero_copy_grpc_protector_protect(
|
400
|
-
grpc_exec_ctx
|
401
|
-
grpc_slice_buffer
|
402
|
-
grpc_slice_buffer
|
403
|
-
if (self ==
|
402
|
+
grpc_exec_ctx* exec_ctx, tsi_zero_copy_grpc_protector* self,
|
403
|
+
grpc_slice_buffer* unprotected_slices,
|
404
|
+
grpc_slice_buffer* protected_slices) {
|
405
|
+
if (self == nullptr || unprotected_slices == nullptr ||
|
406
|
+
protected_slices == nullptr) {
|
404
407
|
return TSI_INVALID_ARGUMENT;
|
405
408
|
}
|
406
|
-
tsi_fake_zero_copy_grpc_protector
|
407
|
-
(tsi_fake_zero_copy_grpc_protector
|
409
|
+
tsi_fake_zero_copy_grpc_protector* impl =
|
410
|
+
(tsi_fake_zero_copy_grpc_protector*)self;
|
408
411
|
/* Protects each frame. */
|
409
412
|
while (unprotected_slices->length > 0) {
|
410
413
|
size_t frame_length =
|
@@ -421,14 +424,15 @@ static tsi_result fake_zero_copy_grpc_protector_protect(
|
|
421
424
|
}
|
422
425
|
|
423
426
|
static tsi_result fake_zero_copy_grpc_protector_unprotect(
|
424
|
-
grpc_exec_ctx
|
425
|
-
grpc_slice_buffer
|
426
|
-
grpc_slice_buffer
|
427
|
-
if (self ==
|
427
|
+
grpc_exec_ctx* exec_ctx, tsi_zero_copy_grpc_protector* self,
|
428
|
+
grpc_slice_buffer* protected_slices,
|
429
|
+
grpc_slice_buffer* unprotected_slices) {
|
430
|
+
if (self == nullptr || unprotected_slices == nullptr ||
|
431
|
+
protected_slices == nullptr) {
|
428
432
|
return TSI_INVALID_ARGUMENT;
|
429
433
|
}
|
430
|
-
tsi_fake_zero_copy_grpc_protector
|
431
|
-
(tsi_fake_zero_copy_grpc_protector
|
434
|
+
tsi_fake_zero_copy_grpc_protector* impl =
|
435
|
+
(tsi_fake_zero_copy_grpc_protector*)self;
|
432
436
|
grpc_slice_buffer_move_into(protected_slices, &impl->protected_sb);
|
433
437
|
/* Unprotect each frame, if we get a full frame. */
|
434
438
|
while (impl->protected_sb.length >= TSI_FAKE_FRAME_HEADER_SIZE) {
|
@@ -456,10 +460,10 @@ static tsi_result fake_zero_copy_grpc_protector_unprotect(
|
|
456
460
|
}
|
457
461
|
|
458
462
|
static void fake_zero_copy_grpc_protector_destroy(
|
459
|
-
grpc_exec_ctx
|
460
|
-
if (self ==
|
461
|
-
tsi_fake_zero_copy_grpc_protector
|
462
|
-
(tsi_fake_zero_copy_grpc_protector
|
463
|
+
grpc_exec_ctx* exec_ctx, tsi_zero_copy_grpc_protector* self) {
|
464
|
+
if (self == nullptr) return;
|
465
|
+
tsi_fake_zero_copy_grpc_protector* impl =
|
466
|
+
(tsi_fake_zero_copy_grpc_protector*)self;
|
463
467
|
grpc_slice_buffer_destroy_internal(exec_ctx, &impl->header_sb);
|
464
468
|
grpc_slice_buffer_destroy_internal(exec_ctx, &impl->protected_sb);
|
465
469
|
gpr_free(impl);
|
@@ -476,12 +480,12 @@ static const tsi_zero_copy_grpc_protector_vtable
|
|
476
480
|
|
477
481
|
typedef struct {
|
478
482
|
tsi_handshaker_result base;
|
479
|
-
unsigned char
|
483
|
+
unsigned char* unused_bytes;
|
480
484
|
size_t unused_bytes_size;
|
481
485
|
} fake_handshaker_result;
|
482
486
|
|
483
487
|
static tsi_result fake_handshaker_result_extract_peer(
|
484
|
-
const tsi_handshaker_result
|
488
|
+
const tsi_handshaker_result* self, tsi_peer* peer) {
|
485
489
|
/* Construct a tsi_peer with 1 property: certificate type. */
|
486
490
|
tsi_result result = tsi_construct_peer(1, peer);
|
487
491
|
if (result != TSI_OK) return result;
|
@@ -493,32 +497,32 @@ static tsi_result fake_handshaker_result_extract_peer(
|
|
493
497
|
}
|
494
498
|
|
495
499
|
static tsi_result fake_handshaker_result_create_zero_copy_grpc_protector(
|
496
|
-
void
|
497
|
-
size_t
|
498
|
-
tsi_zero_copy_grpc_protector
|
500
|
+
void* exec_ctx, const tsi_handshaker_result* self,
|
501
|
+
size_t* max_output_protected_frame_size,
|
502
|
+
tsi_zero_copy_grpc_protector** protector) {
|
499
503
|
*protector =
|
500
504
|
tsi_create_fake_zero_copy_grpc_protector(max_output_protected_frame_size);
|
501
505
|
return TSI_OK;
|
502
506
|
}
|
503
507
|
|
504
508
|
static tsi_result fake_handshaker_result_create_frame_protector(
|
505
|
-
const tsi_handshaker_result
|
506
|
-
tsi_frame_protector
|
509
|
+
const tsi_handshaker_result* self, size_t* max_output_protected_frame_size,
|
510
|
+
tsi_frame_protector** protector) {
|
507
511
|
*protector = tsi_create_fake_frame_protector(max_output_protected_frame_size);
|
508
512
|
return TSI_OK;
|
509
513
|
}
|
510
514
|
|
511
515
|
static tsi_result fake_handshaker_result_get_unused_bytes(
|
512
|
-
const tsi_handshaker_result
|
513
|
-
size_t
|
514
|
-
fake_handshaker_result
|
516
|
+
const tsi_handshaker_result* self, const unsigned char** bytes,
|
517
|
+
size_t* bytes_size) {
|
518
|
+
fake_handshaker_result* result = (fake_handshaker_result*)self;
|
515
519
|
*bytes_size = result->unused_bytes_size;
|
516
520
|
*bytes = result->unused_bytes;
|
517
521
|
return TSI_OK;
|
518
522
|
}
|
519
523
|
|
520
|
-
static void fake_handshaker_result_destroy(tsi_handshaker_result
|
521
|
-
fake_handshaker_result
|
524
|
+
static void fake_handshaker_result_destroy(tsi_handshaker_result* self) {
|
525
|
+
fake_handshaker_result* result = (fake_handshaker_result*)self;
|
522
526
|
gpr_free(result->unused_bytes);
|
523
527
|
gpr_free(self);
|
524
528
|
}
|
@@ -532,16 +536,17 @@ static const tsi_handshaker_result_vtable handshaker_result_vtable = {
|
|
532
536
|
};
|
533
537
|
|
534
538
|
static tsi_result fake_handshaker_result_create(
|
535
|
-
const unsigned char
|
536
|
-
tsi_handshaker_result
|
537
|
-
if ((unused_bytes_size > 0 && unused_bytes ==
|
538
|
-
handshaker_result ==
|
539
|
+
const unsigned char* unused_bytes, size_t unused_bytes_size,
|
540
|
+
tsi_handshaker_result** handshaker_result) {
|
541
|
+
if ((unused_bytes_size > 0 && unused_bytes == nullptr) ||
|
542
|
+
handshaker_result == nullptr) {
|
539
543
|
return TSI_INVALID_ARGUMENT;
|
540
544
|
}
|
541
|
-
fake_handshaker_result
|
545
|
+
fake_handshaker_result* result =
|
546
|
+
(fake_handshaker_result*)gpr_zalloc(sizeof(*result));
|
542
547
|
result->base.vtable = &handshaker_result_vtable;
|
543
548
|
if (unused_bytes_size > 0) {
|
544
|
-
result->unused_bytes = gpr_malloc(unused_bytes_size);
|
549
|
+
result->unused_bytes = (unsigned char*)gpr_malloc(unused_bytes_size);
|
545
550
|
memcpy(result->unused_bytes, unused_bytes, unused_bytes_size);
|
546
551
|
}
|
547
552
|
result->unused_bytes_size = unused_bytes_size;
|
@@ -552,8 +557,8 @@ static tsi_result fake_handshaker_result_create(
|
|
552
557
|
/* --- tsi_handshaker methods implementation. ---*/
|
553
558
|
|
554
559
|
static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
555
|
-
tsi_handshaker
|
556
|
-
tsi_fake_handshaker
|
560
|
+
tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) {
|
561
|
+
tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
|
557
562
|
tsi_result result = TSI_OK;
|
558
563
|
if (impl->needs_incoming_message || impl->result == TSI_OK) {
|
559
564
|
*bytes_size = 0;
|
@@ -561,16 +566,16 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
|
561
566
|
}
|
562
567
|
if (!impl->outgoing_frame.needs_draining) {
|
563
568
|
tsi_fake_handshake_message next_message_to_send =
|
564
|
-
impl->next_message_to_send + 2;
|
565
|
-
const char
|
569
|
+
(tsi_fake_handshake_message)(impl->next_message_to_send + 2);
|
570
|
+
const char* msg_string =
|
566
571
|
tsi_fake_handshake_message_to_string(impl->next_message_to_send);
|
567
|
-
result = tsi_fake_frame_set_data((unsigned char
|
572
|
+
result = tsi_fake_frame_set_data((unsigned char*)msg_string,
|
568
573
|
strlen(msg_string), &impl->outgoing_frame);
|
569
574
|
if (result != TSI_OK) return result;
|
570
575
|
if (next_message_to_send > TSI_FAKE_HANDSHAKE_MESSAGE_MAX) {
|
571
576
|
next_message_to_send = TSI_FAKE_HANDSHAKE_MESSAGE_MAX;
|
572
577
|
}
|
573
|
-
if (
|
578
|
+
if (tsi_tracing_enabled.enabled()) {
|
574
579
|
gpr_log(GPR_INFO, "%s prepared %s.",
|
575
580
|
impl->is_client ? "Client" : "Server",
|
576
581
|
tsi_fake_handshake_message_to_string(impl->next_message_to_send));
|
@@ -582,7 +587,7 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
|
582
587
|
if (!impl->is_client &&
|
583
588
|
impl->next_message_to_send == TSI_FAKE_HANDSHAKE_MESSAGE_MAX) {
|
584
589
|
/* We're done. */
|
585
|
-
if (
|
590
|
+
if (tsi_tracing_enabled.enabled()) {
|
586
591
|
gpr_log(GPR_INFO, "Server is done.");
|
587
592
|
}
|
588
593
|
impl->result = TSI_OK;
|
@@ -593,10 +598,11 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
|
593
598
|
}
|
594
599
|
|
595
600
|
static tsi_result fake_handshaker_process_bytes_from_peer(
|
596
|
-
tsi_handshaker
|
601
|
+
tsi_handshaker* self, const unsigned char* bytes, size_t* bytes_size) {
|
597
602
|
tsi_result result = TSI_OK;
|
598
|
-
tsi_fake_handshaker
|
599
|
-
tsi_fake_handshake_message expected_msg =
|
603
|
+
tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
|
604
|
+
tsi_fake_handshake_message expected_msg =
|
605
|
+
(tsi_fake_handshake_message)(impl->next_message_to_send - 1);
|
600
606
|
tsi_fake_handshake_message received_msg;
|
601
607
|
|
602
608
|
if (!impl->needs_incoming_message || impl->result == TSI_OK) {
|
@@ -608,7 +614,7 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
608
614
|
|
609
615
|
/* We now have a complete frame. */
|
610
616
|
result = tsi_fake_handshake_message_from_string(
|
611
|
-
(const char
|
617
|
+
(const char*)impl->incoming_frame.data + TSI_FAKE_FRAME_HEADER_SIZE,
|
612
618
|
&received_msg);
|
613
619
|
if (result != TSI_OK) {
|
614
620
|
impl->result = result;
|
@@ -619,7 +625,7 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
619
625
|
tsi_fake_handshake_message_to_string(received_msg),
|
620
626
|
tsi_fake_handshake_message_to_string(expected_msg));
|
621
627
|
}
|
622
|
-
if (
|
628
|
+
if (tsi_tracing_enabled.enabled()) {
|
623
629
|
gpr_log(GPR_INFO, "%s received %s.", impl->is_client ? "Client" : "Server",
|
624
630
|
tsi_fake_handshake_message_to_string(received_msg));
|
625
631
|
}
|
@@ -627,7 +633,7 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
627
633
|
impl->needs_incoming_message = 0;
|
628
634
|
if (impl->next_message_to_send == TSI_FAKE_HANDSHAKE_MESSAGE_MAX) {
|
629
635
|
/* We're done. */
|
630
|
-
if (
|
636
|
+
if (tsi_tracing_enabled.enabled()) {
|
631
637
|
gpr_log(GPR_INFO, "%s is done.", impl->is_client ? "Client" : "Server");
|
632
638
|
}
|
633
639
|
impl->result = TSI_OK;
|
@@ -635,13 +641,13 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
635
641
|
return TSI_OK;
|
636
642
|
}
|
637
643
|
|
638
|
-
static tsi_result fake_handshaker_get_result(tsi_handshaker
|
639
|
-
tsi_fake_handshaker
|
644
|
+
static tsi_result fake_handshaker_get_result(tsi_handshaker* self) {
|
645
|
+
tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
|
640
646
|
return impl->result;
|
641
647
|
}
|
642
648
|
|
643
|
-
static void fake_handshaker_destroy(tsi_handshaker
|
644
|
-
tsi_fake_handshaker
|
649
|
+
static void fake_handshaker_destroy(tsi_handshaker* self) {
|
650
|
+
tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
|
645
651
|
tsi_fake_frame_destruct(&impl->incoming_frame);
|
646
652
|
tsi_fake_frame_destruct(&impl->outgoing_frame);
|
647
653
|
gpr_free(impl->outgoing_bytes_buffer);
|
@@ -649,17 +655,17 @@ static void fake_handshaker_destroy(tsi_handshaker *self) {
|
|
649
655
|
}
|
650
656
|
|
651
657
|
static tsi_result fake_handshaker_next(
|
652
|
-
tsi_handshaker
|
653
|
-
size_t received_bytes_size, const unsigned char
|
654
|
-
size_t
|
655
|
-
tsi_handshaker_on_next_done_cb cb, void
|
658
|
+
tsi_handshaker* self, const unsigned char* received_bytes,
|
659
|
+
size_t received_bytes_size, const unsigned char** bytes_to_send,
|
660
|
+
size_t* bytes_to_send_size, tsi_handshaker_result** handshaker_result,
|
661
|
+
tsi_handshaker_on_next_done_cb cb, void* user_data) {
|
656
662
|
/* Sanity check the arguments. */
|
657
|
-
if ((received_bytes_size > 0 && received_bytes ==
|
658
|
-
bytes_to_send ==
|
659
|
-
handshaker_result ==
|
663
|
+
if ((received_bytes_size > 0 && received_bytes == nullptr) ||
|
664
|
+
bytes_to_send == nullptr || bytes_to_send_size == nullptr ||
|
665
|
+
handshaker_result == nullptr) {
|
660
666
|
return TSI_INVALID_ARGUMENT;
|
661
667
|
}
|
662
|
-
tsi_fake_handshaker
|
668
|
+
tsi_fake_handshaker* handshaker = (tsi_fake_handshaker*)self;
|
663
669
|
tsi_result result = TSI_OK;
|
664
670
|
|
665
671
|
/* Decode and process a handshake frame from the peer. */
|
@@ -681,8 +687,8 @@ static tsi_result fake_handshaker_next(
|
|
681
687
|
if (result == TSI_INCOMPLETE_DATA) {
|
682
688
|
handshaker->outgoing_bytes_buffer_size *= 2;
|
683
689
|
handshaker->outgoing_bytes_buffer =
|
684
|
-
gpr_realloc(handshaker->outgoing_bytes_buffer,
|
685
|
-
|
690
|
+
(unsigned char*)gpr_realloc(handshaker->outgoing_bytes_buffer,
|
691
|
+
handshaker->outgoing_bytes_buffer_size);
|
686
692
|
}
|
687
693
|
} while (result == TSI_INCOMPLETE_DATA);
|
688
694
|
if (result != TSI_OK) return result;
|
@@ -691,10 +697,10 @@ static tsi_result fake_handshaker_next(
|
|
691
697
|
|
692
698
|
/* Check if the handshake was completed. */
|
693
699
|
if (fake_handshaker_get_result(self) == TSI_HANDSHAKE_IN_PROGRESS) {
|
694
|
-
*handshaker_result =
|
700
|
+
*handshaker_result = nullptr;
|
695
701
|
} else {
|
696
702
|
/* Calculate the unused bytes. */
|
697
|
-
const unsigned char
|
703
|
+
const unsigned char* unused_bytes = nullptr;
|
698
704
|
size_t unused_bytes_size = received_bytes_size - consumed_bytes_size;
|
699
705
|
if (unused_bytes_size > 0) {
|
700
706
|
unused_bytes = received_bytes + consumed_bytes_size;
|
@@ -713,23 +719,24 @@ static tsi_result fake_handshaker_next(
|
|
713
719
|
}
|
714
720
|
|
715
721
|
static const tsi_handshaker_vtable handshaker_vtable = {
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
722
|
+
nullptr, /* get_bytes_to_send_to_peer -- deprecated */
|
723
|
+
nullptr, /* process_bytes_from_peer -- deprecated */
|
724
|
+
nullptr, /* get_result -- deprecated */
|
725
|
+
nullptr, /* extract_peer -- deprecated */
|
726
|
+
nullptr, /* create_frame_protector -- deprecated */
|
721
727
|
fake_handshaker_destroy,
|
722
728
|
fake_handshaker_next,
|
723
729
|
};
|
724
730
|
|
725
|
-
tsi_handshaker
|
726
|
-
tsi_fake_handshaker
|
731
|
+
tsi_handshaker* tsi_create_fake_handshaker(int is_client) {
|
732
|
+
tsi_fake_handshaker* impl = (tsi_fake_handshaker*)gpr_zalloc(sizeof(*impl));
|
727
733
|
impl->base.vtable = &handshaker_vtable;
|
728
734
|
impl->is_client = is_client;
|
729
735
|
impl->result = TSI_HANDSHAKE_IN_PROGRESS;
|
730
736
|
impl->outgoing_bytes_buffer_size =
|
731
737
|
TSI_FAKE_HANDSHAKER_OUTGOING_BUFFER_INITIAL_SIZE;
|
732
|
-
impl->outgoing_bytes_buffer =
|
738
|
+
impl->outgoing_bytes_buffer =
|
739
|
+
(unsigned char*)gpr_malloc(impl->outgoing_bytes_buffer_size);
|
733
740
|
if (is_client) {
|
734
741
|
impl->needs_incoming_message = 0;
|
735
742
|
impl->next_message_to_send = TSI_FAKE_CLIENT_INIT;
|
@@ -740,22 +747,24 @@ tsi_handshaker *tsi_create_fake_handshaker(int is_client) {
|
|
740
747
|
return &impl->base;
|
741
748
|
}
|
742
749
|
|
743
|
-
tsi_frame_protector
|
744
|
-
size_t
|
745
|
-
tsi_fake_frame_protector
|
746
|
-
|
750
|
+
tsi_frame_protector* tsi_create_fake_frame_protector(
|
751
|
+
size_t* max_protected_frame_size) {
|
752
|
+
tsi_fake_frame_protector* impl =
|
753
|
+
(tsi_fake_frame_protector*)gpr_zalloc(sizeof(*impl));
|
754
|
+
impl->max_frame_size = (max_protected_frame_size == nullptr)
|
747
755
|
? TSI_FAKE_DEFAULT_FRAME_SIZE
|
748
756
|
: *max_protected_frame_size;
|
749
757
|
impl->base.vtable = &frame_protector_vtable;
|
750
758
|
return &impl->base;
|
751
759
|
}
|
752
760
|
|
753
|
-
tsi_zero_copy_grpc_protector
|
754
|
-
size_t
|
755
|
-
tsi_fake_zero_copy_grpc_protector
|
761
|
+
tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector(
|
762
|
+
size_t* max_protected_frame_size) {
|
763
|
+
tsi_fake_zero_copy_grpc_protector* impl =
|
764
|
+
(tsi_fake_zero_copy_grpc_protector*)gpr_zalloc(sizeof(*impl));
|
756
765
|
grpc_slice_buffer_init(&impl->header_sb);
|
757
766
|
grpc_slice_buffer_init(&impl->protected_sb);
|
758
|
-
impl->max_frame_size = (max_protected_frame_size ==
|
767
|
+
impl->max_frame_size = (max_protected_frame_size == nullptr)
|
759
768
|
? TSI_FAKE_DEFAULT_FRAME_SIZE
|
760
769
|
: *max_protected_frame_size;
|
761
770
|
impl->parsed_frame_size = 0;
|