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
@@ -23,12 +23,20 @@
|
|
23
23
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
24
24
|
#include "src/core/lib/security/transport/security_connector.h"
|
25
25
|
|
26
|
+
#ifdef __cplusplus
|
27
|
+
extern "C" {
|
28
|
+
#endif
|
29
|
+
|
26
30
|
/// Creates a security handshaker using \a handshaker.
|
27
|
-
grpc_handshaker
|
28
|
-
grpc_exec_ctx
|
29
|
-
grpc_security_connector
|
31
|
+
grpc_handshaker* grpc_security_handshaker_create(
|
32
|
+
grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker,
|
33
|
+
grpc_security_connector* connector);
|
30
34
|
|
31
35
|
/// Registers security handshaker factories.
|
32
36
|
void grpc_security_register_handshaker_factories();
|
33
37
|
|
38
|
+
#ifdef __cplusplus
|
39
|
+
}
|
40
|
+
#endif
|
41
|
+
|
34
42
|
#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_HANDSHAKER_H */
|
@@ -33,38 +33,38 @@ typedef enum {
|
|
33
33
|
} async_state;
|
34
34
|
|
35
35
|
typedef struct call_data {
|
36
|
-
grpc_call_combiner
|
37
|
-
grpc_call_stack
|
38
|
-
grpc_transport_stream_op_batch
|
39
|
-
grpc_closure
|
36
|
+
grpc_call_combiner* call_combiner;
|
37
|
+
grpc_call_stack* owning_call;
|
38
|
+
grpc_transport_stream_op_batch* recv_initial_metadata_batch;
|
39
|
+
grpc_closure* original_recv_initial_metadata_ready;
|
40
40
|
grpc_closure recv_initial_metadata_ready;
|
41
41
|
grpc_metadata_array md;
|
42
|
-
const grpc_metadata
|
42
|
+
const grpc_metadata* consumed_md;
|
43
43
|
size_t num_consumed_md;
|
44
|
-
grpc_auth_context
|
44
|
+
grpc_auth_context* auth_context;
|
45
45
|
grpc_closure cancel_closure;
|
46
46
|
gpr_atm state; // async_state
|
47
47
|
} call_data;
|
48
48
|
|
49
49
|
typedef struct channel_data {
|
50
|
-
grpc_auth_context
|
51
|
-
grpc_server_credentials
|
50
|
+
grpc_auth_context* auth_context;
|
51
|
+
grpc_server_credentials* creds;
|
52
52
|
} channel_data;
|
53
53
|
|
54
54
|
static grpc_metadata_array metadata_batch_to_md_array(
|
55
|
-
const grpc_metadata_batch
|
56
|
-
grpc_linked_mdelem
|
55
|
+
const grpc_metadata_batch* batch) {
|
56
|
+
grpc_linked_mdelem* l;
|
57
57
|
grpc_metadata_array result;
|
58
58
|
grpc_metadata_array_init(&result);
|
59
|
-
for (l = batch->list.head; l !=
|
60
|
-
grpc_metadata
|
59
|
+
for (l = batch->list.head; l != nullptr; l = l->next) {
|
60
|
+
grpc_metadata* usr_md = nullptr;
|
61
61
|
grpc_mdelem md = l->md;
|
62
62
|
grpc_slice key = GRPC_MDKEY(md);
|
63
63
|
grpc_slice value = GRPC_MDVALUE(md);
|
64
64
|
if (result.count == result.capacity) {
|
65
65
|
result.capacity = GPR_MAX(result.capacity + 8, result.capacity * 2);
|
66
|
-
result.metadata =
|
67
|
-
|
66
|
+
result.metadata = (grpc_metadata*)gpr_realloc(
|
67
|
+
result.metadata, result.capacity * sizeof(grpc_metadata));
|
68
68
|
}
|
69
69
|
usr_md = &result.metadata[result.count++];
|
70
70
|
usr_md->key = grpc_slice_ref_internal(key);
|
@@ -73,14 +73,14 @@ static grpc_metadata_array metadata_batch_to_md_array(
|
|
73
73
|
return result;
|
74
74
|
}
|
75
75
|
|
76
|
-
static grpc_filtered_mdelem remove_consumed_md(grpc_exec_ctx
|
77
|
-
void
|
76
|
+
static grpc_filtered_mdelem remove_consumed_md(grpc_exec_ctx* exec_ctx,
|
77
|
+
void* user_data,
|
78
78
|
grpc_mdelem md) {
|
79
|
-
grpc_call_element
|
80
|
-
call_data
|
79
|
+
grpc_call_element* elem = (grpc_call_element*)user_data;
|
80
|
+
call_data* calld = (call_data*)elem->call_data;
|
81
81
|
size_t i;
|
82
82
|
for (i = 0; i < calld->num_consumed_md; i++) {
|
83
|
-
const grpc_metadata
|
83
|
+
const grpc_metadata* consumed_md = &calld->consumed_md[i];
|
84
84
|
if (grpc_slice_eq(GRPC_MDKEY(md), consumed_md->key) &&
|
85
85
|
grpc_slice_eq(GRPC_MDVALUE(md), consumed_md->value))
|
86
86
|
return GRPC_FILTERED_REMOVE();
|
@@ -88,17 +88,17 @@ static grpc_filtered_mdelem remove_consumed_md(grpc_exec_ctx *exec_ctx,
|
|
88
88
|
return GRPC_FILTERED_MDELEM(md);
|
89
89
|
}
|
90
90
|
|
91
|
-
static void on_md_processing_done_inner(grpc_exec_ctx
|
92
|
-
grpc_call_element
|
93
|
-
const grpc_metadata
|
91
|
+
static void on_md_processing_done_inner(grpc_exec_ctx* exec_ctx,
|
92
|
+
grpc_call_element* elem,
|
93
|
+
const grpc_metadata* consumed_md,
|
94
94
|
size_t num_consumed_md,
|
95
|
-
const grpc_metadata
|
95
|
+
const grpc_metadata* response_md,
|
96
96
|
size_t num_response_md,
|
97
|
-
grpc_error
|
98
|
-
call_data
|
99
|
-
grpc_transport_stream_op_batch
|
97
|
+
grpc_error* error) {
|
98
|
+
call_data* calld = (call_data*)elem->call_data;
|
99
|
+
grpc_transport_stream_op_batch* batch = calld->recv_initial_metadata_batch;
|
100
100
|
/* TODO(jboeuf): Implement support for response_md. */
|
101
|
-
if (response_md !=
|
101
|
+
if (response_md != nullptr && num_response_md > 0) {
|
102
102
|
gpr_log(GPR_INFO,
|
103
103
|
"response_md in auth metadata processing not supported for now. "
|
104
104
|
"Ignoring...");
|
@@ -116,18 +116,18 @@ static void on_md_processing_done_inner(grpc_exec_ctx *exec_ctx,
|
|
116
116
|
|
117
117
|
// Called from application code.
|
118
118
|
static void on_md_processing_done(
|
119
|
-
void
|
120
|
-
const grpc_metadata
|
121
|
-
grpc_status_code status, const char
|
122
|
-
grpc_call_element
|
123
|
-
call_data
|
119
|
+
void* user_data, const grpc_metadata* consumed_md, size_t num_consumed_md,
|
120
|
+
const grpc_metadata* response_md, size_t num_response_md,
|
121
|
+
grpc_status_code status, const char* error_details) {
|
122
|
+
grpc_call_element* elem = (grpc_call_element*)user_data;
|
123
|
+
call_data* calld = (call_data*)elem->call_data;
|
124
124
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
125
125
|
// If the call was not cancelled while we were in flight, process the result.
|
126
126
|
if (gpr_atm_full_cas(&calld->state, (gpr_atm)STATE_INIT,
|
127
127
|
(gpr_atm)STATE_DONE)) {
|
128
|
-
grpc_error
|
128
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
129
129
|
if (status != GRPC_STATUS_OK) {
|
130
|
-
if (error_details ==
|
130
|
+
if (error_details == nullptr) {
|
131
131
|
error_details = "Authentication metadata processing failed.";
|
132
132
|
}
|
133
133
|
error = grpc_error_set_int(
|
@@ -147,27 +147,27 @@ static void on_md_processing_done(
|
|
147
147
|
grpc_exec_ctx_finish(&exec_ctx);
|
148
148
|
}
|
149
149
|
|
150
|
-
static void cancel_call(grpc_exec_ctx
|
151
|
-
grpc_call_element
|
152
|
-
call_data
|
150
|
+
static void cancel_call(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
|
151
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
152
|
+
call_data* calld = (call_data*)elem->call_data;
|
153
153
|
// If the result was not already processed, invoke the callback now.
|
154
154
|
if (error != GRPC_ERROR_NONE &&
|
155
155
|
gpr_atm_full_cas(&calld->state, (gpr_atm)STATE_INIT,
|
156
156
|
(gpr_atm)STATE_CANCELLED)) {
|
157
|
-
on_md_processing_done_inner(exec_ctx, elem,
|
157
|
+
on_md_processing_done_inner(exec_ctx, elem, nullptr, 0, nullptr, 0,
|
158
158
|
GRPC_ERROR_REF(error));
|
159
159
|
}
|
160
160
|
GRPC_CALL_STACK_UNREF(exec_ctx, calld->owning_call, "cancel_call");
|
161
161
|
}
|
162
162
|
|
163
|
-
static void recv_initial_metadata_ready(grpc_exec_ctx
|
164
|
-
grpc_error
|
165
|
-
grpc_call_element
|
166
|
-
channel_data
|
167
|
-
call_data
|
168
|
-
grpc_transport_stream_op_batch
|
163
|
+
static void recv_initial_metadata_ready(grpc_exec_ctx* exec_ctx, void* arg,
|
164
|
+
grpc_error* error) {
|
165
|
+
grpc_call_element* elem = (grpc_call_element*)arg;
|
166
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
167
|
+
call_data* calld = (call_data*)elem->call_data;
|
168
|
+
grpc_transport_stream_op_batch* batch = calld->recv_initial_metadata_batch;
|
169
169
|
if (error == GRPC_ERROR_NONE) {
|
170
|
-
if (chand->creds !=
|
170
|
+
if (chand->creds != nullptr && chand->creds->processor.process != nullptr) {
|
171
171
|
// We're calling out to the application, so we need to make sure
|
172
172
|
// to drop the call combiner early if we get cancelled.
|
173
173
|
GRPC_CALL_STACK_REF(calld->owning_call, "cancel_call");
|
@@ -189,9 +189,9 @@ static void recv_initial_metadata_ready(grpc_exec_ctx *exec_ctx, void *arg,
|
|
189
189
|
}
|
190
190
|
|
191
191
|
static void auth_start_transport_stream_op_batch(
|
192
|
-
grpc_exec_ctx
|
193
|
-
grpc_transport_stream_op_batch
|
194
|
-
call_data
|
192
|
+
grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
193
|
+
grpc_transport_stream_op_batch* batch) {
|
194
|
+
call_data* calld = (call_data*)elem->call_data;
|
195
195
|
if (batch->recv_initial_metadata) {
|
196
196
|
// Inject our callback.
|
197
197
|
calld->recv_initial_metadata_batch = batch;
|
@@ -204,11 +204,11 @@ static void auth_start_transport_stream_op_batch(
|
|
204
204
|
}
|
205
205
|
|
206
206
|
/* Constructor for call_data */
|
207
|
-
static grpc_error
|
208
|
-
grpc_call_element
|
209
|
-
const grpc_call_element_args
|
210
|
-
call_data
|
211
|
-
channel_data
|
207
|
+
static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
|
208
|
+
grpc_call_element* elem,
|
209
|
+
const grpc_call_element_args* args) {
|
210
|
+
call_data* calld = (call_data*)elem->call_data;
|
211
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
212
212
|
calld->call_combiner = args->call_combiner;
|
213
213
|
calld->owning_call = args->call_stack;
|
214
214
|
GRPC_CLOSURE_INIT(&calld->recv_initial_metadata_ready,
|
@@ -216,11 +216,11 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx,
|
|
216
216
|
grpc_schedule_on_exec_ctx);
|
217
217
|
// Create server security context. Set its auth context from channel
|
218
218
|
// data and save it in the call context.
|
219
|
-
grpc_server_security_context
|
219
|
+
grpc_server_security_context* server_ctx =
|
220
220
|
grpc_server_security_context_create();
|
221
221
|
server_ctx->auth_context = grpc_auth_context_create(chand->auth_context);
|
222
222
|
calld->auth_context = server_ctx->auth_context;
|
223
|
-
if (args->context[GRPC_CONTEXT_SECURITY].value !=
|
223
|
+
if (args->context[GRPC_CONTEXT_SECURITY].value != nullptr) {
|
224
224
|
args->context[GRPC_CONTEXT_SECURITY].destroy(
|
225
225
|
args->context[GRPC_CONTEXT_SECURITY].value);
|
226
226
|
}
|
@@ -231,31 +231,31 @@ static grpc_error *init_call_elem(grpc_exec_ctx *exec_ctx,
|
|
231
231
|
}
|
232
232
|
|
233
233
|
/* Destructor for call_data */
|
234
|
-
static void destroy_call_elem(grpc_exec_ctx
|
235
|
-
const grpc_call_final_info
|
236
|
-
grpc_closure
|
234
|
+
static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
|
235
|
+
const grpc_call_final_info* final_info,
|
236
|
+
grpc_closure* ignored) {}
|
237
237
|
|
238
238
|
/* Constructor for channel_data */
|
239
|
-
static grpc_error
|
240
|
-
grpc_channel_element
|
241
|
-
grpc_channel_element_args
|
239
|
+
static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
|
240
|
+
grpc_channel_element* elem,
|
241
|
+
grpc_channel_element_args* args) {
|
242
242
|
GPR_ASSERT(!args->is_last);
|
243
|
-
channel_data
|
244
|
-
grpc_auth_context
|
243
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
244
|
+
grpc_auth_context* auth_context =
|
245
245
|
grpc_find_auth_context_in_args(args->channel_args);
|
246
|
-
GPR_ASSERT(auth_context !=
|
246
|
+
GPR_ASSERT(auth_context != nullptr);
|
247
247
|
chand->auth_context =
|
248
248
|
GRPC_AUTH_CONTEXT_REF(auth_context, "server_auth_filter");
|
249
|
-
grpc_server_credentials
|
249
|
+
grpc_server_credentials* creds =
|
250
250
|
grpc_find_server_credentials_in_args(args->channel_args);
|
251
251
|
chand->creds = grpc_server_credentials_ref(creds);
|
252
252
|
return GRPC_ERROR_NONE;
|
253
253
|
}
|
254
254
|
|
255
255
|
/* Destructor for channel data */
|
256
|
-
static void destroy_channel_elem(grpc_exec_ctx
|
257
|
-
grpc_channel_element
|
258
|
-
channel_data
|
256
|
+
static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
|
257
|
+
grpc_channel_element* elem) {
|
258
|
+
channel_data* chand = (channel_data*)elem->channel_data;
|
259
259
|
GRPC_AUTH_CONTEXT_UNREF(chand->auth_context, "server_auth_filter");
|
260
260
|
grpc_server_credentials_unref(exec_ctx, chand->creds);
|
261
261
|
}
|
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
#include "src/core/lib/security/transport/tsi_error.h"
|
20
20
|
|
21
|
-
grpc_error
|
21
|
+
grpc_error* grpc_set_tsi_error_result(grpc_error* error, tsi_result result) {
|
22
22
|
return grpc_error_set_int(
|
23
23
|
grpc_error_set_str(
|
24
24
|
error, GRPC_ERROR_STR_TSI_ERROR,
|
@@ -22,6 +22,14 @@
|
|
22
22
|
#include "src/core/lib/iomgr/error.h"
|
23
23
|
#include "src/core/tsi/transport_security_interface.h"
|
24
24
|
|
25
|
-
|
25
|
+
#ifdef __cplusplus
|
26
|
+
extern "C" {
|
27
|
+
#endif
|
28
|
+
|
29
|
+
grpc_error* grpc_set_tsi_error_result(grpc_error* error, tsi_result result);
|
30
|
+
|
31
|
+
#ifdef __cplusplus
|
32
|
+
}
|
33
|
+
#endif
|
26
34
|
|
27
35
|
#endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */
|
@@ -23,24 +23,24 @@
|
|
23
23
|
#include <grpc/support/log.h>
|
24
24
|
#include <grpc/support/string_util.h>
|
25
25
|
|
26
|
-
const char
|
27
|
-
const char
|
28
|
-
grpc_json
|
29
|
-
for (child = json->child; child !=
|
26
|
+
const char* grpc_json_get_string_property(const grpc_json* json,
|
27
|
+
const char* prop_name) {
|
28
|
+
grpc_json* child;
|
29
|
+
for (child = json->child; child != nullptr; child = child->next) {
|
30
30
|
if (strcmp(child->key, prop_name) == 0) break;
|
31
31
|
}
|
32
|
-
if (child ==
|
32
|
+
if (child == nullptr || child->type != GRPC_JSON_STRING) {
|
33
33
|
gpr_log(GPR_ERROR, "Invalid or missing %s property.", prop_name);
|
34
|
-
return
|
34
|
+
return nullptr;
|
35
35
|
}
|
36
36
|
return child->value;
|
37
37
|
}
|
38
38
|
|
39
|
-
bool grpc_copy_json_string_property(const grpc_json
|
40
|
-
const char
|
41
|
-
char
|
42
|
-
const char
|
43
|
-
if (prop_value ==
|
39
|
+
bool grpc_copy_json_string_property(const grpc_json* json,
|
40
|
+
const char* prop_name,
|
41
|
+
char** copied_value) {
|
42
|
+
const char* prop_value = grpc_json_get_string_property(json, prop_name);
|
43
|
+
if (prop_value == nullptr) return false;
|
44
44
|
*copied_value = gpr_strdup(prop_value);
|
45
45
|
return true;
|
46
46
|
}
|
@@ -28,13 +28,21 @@
|
|
28
28
|
#define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account"
|
29
29
|
#define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user"
|
30
30
|
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
31
35
|
// Gets a child property from a json node.
|
32
|
-
const char
|
33
|
-
const char
|
36
|
+
const char* grpc_json_get_string_property(const grpc_json* json,
|
37
|
+
const char* prop_name);
|
34
38
|
|
35
39
|
// Copies the value of the json child property specified by prop_name.
|
36
40
|
// Returns false if the property was not found.
|
37
|
-
bool grpc_copy_json_string_property(const grpc_json
|
38
|
-
const char
|
41
|
+
bool grpc_copy_json_string_property(const grpc_json* json,
|
42
|
+
const char* prop_name, char** copied_value);
|
43
|
+
|
44
|
+
#ifdef __cplusplus
|
45
|
+
}
|
46
|
+
#endif
|
39
47
|
|
40
48
|
#endif /* GRPC_CORE_LIB_SECURITY_UTIL_JSON_UTIL_H */
|
@@ -54,11 +54,11 @@ static const char base64_url_safe_chars[] =
|
|
54
54
|
|
55
55
|
/* --- base64 functions. --- */
|
56
56
|
|
57
|
-
char
|
57
|
+
char* grpc_base64_encode(const void* vdata, size_t data_size, int url_safe,
|
58
58
|
int multiline) {
|
59
59
|
size_t result_projected_size =
|
60
60
|
grpc_base64_estimate_encoded_size(data_size, url_safe, multiline);
|
61
|
-
char
|
61
|
+
char* result = (char*)gpr_malloc(result_projected_size);
|
62
62
|
grpc_base64_encode_core(result, vdata, data_size, url_safe, multiline);
|
63
63
|
return result;
|
64
64
|
}
|
@@ -73,15 +73,15 @@ size_t grpc_base64_estimate_encoded_size(size_t data_size, int url_safe,
|
|
73
73
|
return result_projected_size;
|
74
74
|
}
|
75
75
|
|
76
|
-
void grpc_base64_encode_core(char
|
76
|
+
void grpc_base64_encode_core(char* result, const void* vdata, size_t data_size,
|
77
77
|
int url_safe, int multiline) {
|
78
|
-
const unsigned char
|
79
|
-
const char
|
78
|
+
const unsigned char* data = (const unsigned char*)vdata;
|
79
|
+
const char* base64_chars =
|
80
80
|
url_safe ? base64_url_safe_chars : base64_url_unsafe_chars;
|
81
81
|
const size_t result_projected_size =
|
82
82
|
grpc_base64_estimate_encoded_size(data_size, url_safe, multiline);
|
83
83
|
|
84
|
-
char
|
84
|
+
char* current = result;
|
85
85
|
size_t num_blocks = 0;
|
86
86
|
size_t i = 0;
|
87
87
|
|
@@ -122,27 +122,27 @@ void grpc_base64_encode_core(char *result, const void *vdata, size_t data_size,
|
|
122
122
|
result[current - result] = '\0';
|
123
123
|
}
|
124
124
|
|
125
|
-
grpc_slice grpc_base64_decode(grpc_exec_ctx
|
125
|
+
grpc_slice grpc_base64_decode(grpc_exec_ctx* exec_ctx, const char* b64,
|
126
126
|
int url_safe) {
|
127
127
|
return grpc_base64_decode_with_len(exec_ctx, b64, strlen(b64), url_safe);
|
128
128
|
}
|
129
129
|
|
130
|
-
static void decode_one_char(const unsigned char
|
131
|
-
size_t
|
130
|
+
static void decode_one_char(const unsigned char* codes, unsigned char* result,
|
131
|
+
size_t* result_offset) {
|
132
132
|
uint32_t packed = ((uint32_t)codes[0] << 2) | ((uint32_t)codes[1] >> 4);
|
133
133
|
result[(*result_offset)++] = (unsigned char)packed;
|
134
134
|
}
|
135
135
|
|
136
|
-
static void decode_two_chars(const unsigned char
|
137
|
-
size_t
|
136
|
+
static void decode_two_chars(const unsigned char* codes, unsigned char* result,
|
137
|
+
size_t* result_offset) {
|
138
138
|
uint32_t packed = ((uint32_t)codes[0] << 10) | ((uint32_t)codes[1] << 4) |
|
139
139
|
((uint32_t)codes[2] >> 2);
|
140
140
|
result[(*result_offset)++] = (unsigned char)(packed >> 8);
|
141
141
|
result[(*result_offset)++] = (unsigned char)(packed);
|
142
142
|
}
|
143
143
|
|
144
|
-
static int decode_group(const unsigned char
|
145
|
-
unsigned char
|
144
|
+
static int decode_group(const unsigned char* codes, size_t num_codes,
|
145
|
+
unsigned char* result, size_t* result_offset) {
|
146
146
|
GPR_ASSERT(num_codes <= 4);
|
147
147
|
|
148
148
|
/* Short end groups that may not have padding. */
|
@@ -185,10 +185,10 @@ static int decode_group(const unsigned char *codes, size_t num_codes,
|
|
185
185
|
return 1;
|
186
186
|
}
|
187
187
|
|
188
|
-
grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx
|
188
|
+
grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx* exec_ctx, const char* b64,
|
189
189
|
size_t b64_len, int url_safe) {
|
190
190
|
grpc_slice result = GRPC_SLICE_MALLOC(b64_len);
|
191
|
-
unsigned char
|
191
|
+
unsigned char* current = GRPC_SLICE_START_PTR(result);
|
192
192
|
size_t result_size = 0;
|
193
193
|
unsigned char codes[4];
|
194
194
|
size_t num_codes = 0;
|
data/src/core/lib/slice/b64.h
CHANGED
@@ -21,10 +21,14 @@
|
|
21
21
|
|
22
22
|
#include <grpc/slice.h>
|
23
23
|
|
24
|
+
#ifdef __cplusplus
|
25
|
+
extern "C" {
|
26
|
+
#endif
|
27
|
+
|
24
28
|
/* Encodes data using base64. It is the caller's responsability to free
|
25
29
|
the returned char * using gpr_free. Returns NULL on NULL input.
|
26
30
|
TODO(makdharma) : change the flags to bool from int */
|
27
|
-
char
|
31
|
+
char* grpc_base64_encode(const void* data, size_t data_size, int url_safe,
|
28
32
|
int multiline);
|
29
33
|
|
30
34
|
/* estimate the upper bound on size of base64 encoded data. The actual size
|
@@ -35,16 +39,20 @@ size_t grpc_base64_estimate_encoded_size(size_t data_size, int url_safe,
|
|
35
39
|
/* Encodes data using base64 and write it to memory pointed to by result. It is
|
36
40
|
* the caller's responsiblity to allocate enough memory in |result| to fit the
|
37
41
|
* encoded data. */
|
38
|
-
void grpc_base64_encode_core(char
|
42
|
+
void grpc_base64_encode_core(char* result, const void* vdata, size_t data_size,
|
39
43
|
int url_safe, int multiline);
|
40
44
|
|
41
45
|
/* Decodes data according to the base64 specification. Returns an empty
|
42
46
|
slice in case of failure. */
|
43
|
-
grpc_slice grpc_base64_decode(grpc_exec_ctx
|
47
|
+
grpc_slice grpc_base64_decode(grpc_exec_ctx* exec_ctx, const char* b64,
|
44
48
|
int url_safe);
|
45
49
|
|
46
50
|
/* Same as above except that the length is provided by the caller. */
|
47
|
-
grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx
|
51
|
+
grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx* exec_ctx, const char* b64,
|
48
52
|
size_t b64_len, int url_safe);
|
49
53
|
|
54
|
+
#ifdef __cplusplus
|
55
|
+
}
|
56
|
+
#endif
|
57
|
+
|
50
58
|
#endif /* GRPC_CORE_LIB_SLICE_B64_H */
|