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
@@ -35,19 +35,23 @@
|
|
35
35
|
|
36
36
|
#include "src/core/lib/json/json_common.h"
|
37
37
|
|
38
|
+
#ifdef __cplusplus
|
39
|
+
extern "C" {
|
40
|
+
#endif
|
41
|
+
|
38
42
|
typedef struct grpc_json_writer_vtable {
|
39
43
|
/* Adds a character to the output stream. */
|
40
|
-
void (*output_char)(void
|
44
|
+
void (*output_char)(void* userdata, char);
|
41
45
|
/* Adds a zero-terminated string to the output stream. */
|
42
|
-
void (*output_string)(void
|
46
|
+
void (*output_string)(void* userdata, const char* str);
|
43
47
|
/* Adds a fixed-length string to the output stream. */
|
44
|
-
void (*output_string_with_len)(void
|
48
|
+
void (*output_string_with_len)(void* userdata, const char* str, size_t len);
|
45
49
|
|
46
50
|
} grpc_json_writer_vtable;
|
47
51
|
|
48
52
|
typedef struct grpc_json_writer {
|
49
|
-
void
|
50
|
-
grpc_json_writer_vtable
|
53
|
+
void* userdata;
|
54
|
+
grpc_json_writer_vtable* vtable;
|
51
55
|
int indent;
|
52
56
|
int depth;
|
53
57
|
int container_empty;
|
@@ -59,24 +63,28 @@ typedef struct grpc_json_writer {
|
|
59
63
|
* use indent=0, then the output will not have any newlines either, thus
|
60
64
|
* emitting a condensed json output.
|
61
65
|
*/
|
62
|
-
void grpc_json_writer_init(grpc_json_writer
|
63
|
-
grpc_json_writer_vtable
|
66
|
+
void grpc_json_writer_init(grpc_json_writer* writer, int indent,
|
67
|
+
grpc_json_writer_vtable* vtable, void* userdata);
|
64
68
|
|
65
69
|
/* Signals the beginning of a container. */
|
66
|
-
void grpc_json_writer_container_begins(grpc_json_writer
|
70
|
+
void grpc_json_writer_container_begins(grpc_json_writer* writer,
|
67
71
|
grpc_json_type type);
|
68
72
|
/* Signals the end of a container. */
|
69
|
-
void grpc_json_writer_container_ends(grpc_json_writer
|
73
|
+
void grpc_json_writer_container_ends(grpc_json_writer* writer,
|
70
74
|
grpc_json_type type);
|
71
75
|
/* Writes down an object key for the next value. */
|
72
|
-
void grpc_json_writer_object_key(grpc_json_writer
|
76
|
+
void grpc_json_writer_object_key(grpc_json_writer* writer, const char* string);
|
73
77
|
/* Sets a raw value. Useful for numbers. */
|
74
|
-
void grpc_json_writer_value_raw(grpc_json_writer
|
78
|
+
void grpc_json_writer_value_raw(grpc_json_writer* writer, const char* string);
|
75
79
|
/* Sets a raw value with its length. Useful for values like true or false. */
|
76
|
-
void grpc_json_writer_value_raw_with_len(grpc_json_writer
|
77
|
-
const char
|
80
|
+
void grpc_json_writer_value_raw_with_len(grpc_json_writer* writer,
|
81
|
+
const char* string, size_t len);
|
78
82
|
/* Sets a string value. It'll be escaped, and utf-8 validated. */
|
79
|
-
void grpc_json_writer_value_string(grpc_json_writer
|
80
|
-
const char
|
83
|
+
void grpc_json_writer_value_string(grpc_json_writer* writer,
|
84
|
+
const char* string);
|
85
|
+
|
86
|
+
#ifdef __cplusplus
|
87
|
+
}
|
88
|
+
#endif
|
81
89
|
|
82
90
|
#endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */
|
@@ -18,10 +18,10 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
-
#ifdef GRPC_BASIC_PROFILER
|
22
|
-
|
23
21
|
#include "src/core/lib/profiling/timers.h"
|
24
22
|
|
23
|
+
#ifdef GRPC_BASIC_PROFILER
|
24
|
+
|
25
25
|
#include <grpc/support/alloc.h>
|
26
26
|
#include <grpc/support/log.h>
|
27
27
|
#include <grpc/support/sync.h>
|
@@ -36,8 +36,8 @@ typedef enum { BEGIN = '{', END = '}', MARK = '.' } marker_type;
|
|
36
36
|
|
37
37
|
typedef struct gpr_timer_entry {
|
38
38
|
gpr_timespec tm;
|
39
|
-
const char
|
40
|
-
const char
|
39
|
+
const char* tagstr;
|
40
|
+
const char* file;
|
41
41
|
short line;
|
42
42
|
char type;
|
43
43
|
uint8_t important;
|
@@ -48,21 +48,21 @@ typedef struct gpr_timer_entry {
|
|
48
48
|
|
49
49
|
typedef struct gpr_timer_log {
|
50
50
|
size_t num_entries;
|
51
|
-
struct gpr_timer_log
|
52
|
-
struct gpr_timer_log
|
51
|
+
struct gpr_timer_log* next;
|
52
|
+
struct gpr_timer_log* prev;
|
53
53
|
gpr_timer_entry log[MAX_COUNT];
|
54
54
|
} gpr_timer_log;
|
55
55
|
|
56
56
|
typedef struct gpr_timer_log_list {
|
57
|
-
gpr_timer_log
|
57
|
+
gpr_timer_log* head;
|
58
58
|
/* valid iff head!=NULL */
|
59
|
-
gpr_timer_log
|
59
|
+
gpr_timer_log* tail;
|
60
60
|
} gpr_timer_log_list;
|
61
61
|
|
62
|
-
static __thread gpr_timer_log
|
62
|
+
static __thread gpr_timer_log* g_thread_log;
|
63
63
|
static gpr_once g_once_init = GPR_ONCE_INIT;
|
64
|
-
static FILE
|
65
|
-
static const char
|
64
|
+
static FILE* output_file;
|
65
|
+
static const char* output_filename_or_null = NULL;
|
66
66
|
static pthread_mutex_t g_mu;
|
67
67
|
static pthread_cond_t g_cv;
|
68
68
|
static gpr_timer_log_list g_in_progress_logs;
|
@@ -73,7 +73,7 @@ static __thread int g_thread_id;
|
|
73
73
|
static int g_next_thread_id;
|
74
74
|
static int g_writing_enabled = 1;
|
75
75
|
|
76
|
-
static const char
|
76
|
+
static const char* output_filename() {
|
77
77
|
if (output_filename_or_null == NULL) {
|
78
78
|
output_filename_or_null = gpr_getenv("LATENCY_TRACE");
|
79
79
|
if (output_filename_or_null == NULL ||
|
@@ -84,7 +84,7 @@ static const char *output_filename() {
|
|
84
84
|
return output_filename_or_null;
|
85
85
|
}
|
86
86
|
|
87
|
-
static int timer_log_push_back(gpr_timer_log_list
|
87
|
+
static int timer_log_push_back(gpr_timer_log_list* list, gpr_timer_log* log) {
|
88
88
|
if (list->head == NULL) {
|
89
89
|
list->head = list->tail = log;
|
90
90
|
log->next = log->prev = NULL;
|
@@ -98,8 +98,8 @@ static int timer_log_push_back(gpr_timer_log_list *list, gpr_timer_log *log) {
|
|
98
98
|
}
|
99
99
|
}
|
100
100
|
|
101
|
-
static gpr_timer_log
|
102
|
-
gpr_timer_log
|
101
|
+
static gpr_timer_log* timer_log_pop_front(gpr_timer_log_list* list) {
|
102
|
+
gpr_timer_log* out = list->head;
|
103
103
|
if (out != NULL) {
|
104
104
|
list->head = out->next;
|
105
105
|
if (list->head != NULL) {
|
@@ -111,7 +111,7 @@ static gpr_timer_log *timer_log_pop_front(gpr_timer_log_list *list) {
|
|
111
111
|
return out;
|
112
112
|
}
|
113
113
|
|
114
|
-
static void timer_log_remove(gpr_timer_log_list
|
114
|
+
static void timer_log_remove(gpr_timer_log_list* list, gpr_timer_log* log) {
|
115
115
|
if (log->prev == NULL) {
|
116
116
|
list->head = log->next;
|
117
117
|
if (list->head != NULL) {
|
@@ -130,13 +130,13 @@ static void timer_log_remove(gpr_timer_log_list *list, gpr_timer_log *log) {
|
|
130
130
|
}
|
131
131
|
}
|
132
132
|
|
133
|
-
static void write_log(gpr_timer_log
|
133
|
+
static void write_log(gpr_timer_log* log) {
|
134
134
|
size_t i;
|
135
135
|
if (output_file == NULL) {
|
136
136
|
output_file = fopen(output_filename(), "w");
|
137
137
|
}
|
138
138
|
for (i = 0; i < log->num_entries; i++) {
|
139
|
-
gpr_timer_entry
|
139
|
+
gpr_timer_entry* entry = &(log->log[i]);
|
140
140
|
if (gpr_time_cmp(entry->tm, gpr_time_0(entry->tm.clock_type)) < 0) {
|
141
141
|
entry->tm = gpr_time_0(entry->tm.clock_type);
|
142
142
|
}
|
@@ -149,8 +149,8 @@ static void write_log(gpr_timer_log *log) {
|
|
149
149
|
}
|
150
150
|
}
|
151
151
|
|
152
|
-
static void writing_thread(void
|
153
|
-
gpr_timer_log
|
152
|
+
static void writing_thread(void* unused) {
|
153
|
+
gpr_timer_log* log;
|
154
154
|
pthread_mutex_lock(&g_mu);
|
155
155
|
for (;;) {
|
156
156
|
while ((log = timer_log_pop_front(&g_done_logs)) == NULL && !g_shutdown) {
|
@@ -169,8 +169,8 @@ static void writing_thread(void *unused) {
|
|
169
169
|
}
|
170
170
|
}
|
171
171
|
|
172
|
-
static void flush_logs(gpr_timer_log_list
|
173
|
-
gpr_timer_log
|
172
|
+
static void flush_logs(gpr_timer_log_list* list) {
|
173
|
+
gpr_timer_log* log;
|
174
174
|
while ((log = timer_log_pop_front(list)) != NULL) {
|
175
175
|
write_log(log);
|
176
176
|
free(log);
|
@@ -196,7 +196,7 @@ static void finish_writing(void) {
|
|
196
196
|
}
|
197
197
|
}
|
198
198
|
|
199
|
-
void gpr_timers_set_log_filename(const char
|
199
|
+
void gpr_timers_set_log_filename(const char* filename) {
|
200
200
|
output_filename_or_null = filename;
|
201
201
|
}
|
202
202
|
|
@@ -209,9 +209,9 @@ static void init_output() {
|
|
209
209
|
|
210
210
|
static void rotate_log() {
|
211
211
|
/* Using malloc here, as this code could end up being called by gpr_malloc */
|
212
|
-
gpr_timer_log
|
212
|
+
gpr_timer_log* log = static_cast<gpr_timer_log*>(malloc(sizeof(*log)));
|
213
213
|
gpr_once_init(&g_once_init, init_output);
|
214
|
-
|
214
|
+
log->num_entries = 0;
|
215
215
|
pthread_mutex_lock(&g_mu);
|
216
216
|
if (g_thread_log != NULL) {
|
217
217
|
timer_log_remove(&g_in_progress_logs, g_thread_log);
|
@@ -221,14 +221,14 @@ static void rotate_log() {
|
|
221
221
|
} else {
|
222
222
|
g_thread_id = g_next_thread_id++;
|
223
223
|
}
|
224
|
-
timer_log_push_back(&g_in_progress_logs,
|
224
|
+
timer_log_push_back(&g_in_progress_logs, log);
|
225
225
|
pthread_mutex_unlock(&g_mu);
|
226
|
-
g_thread_log =
|
226
|
+
g_thread_log = log;
|
227
227
|
}
|
228
228
|
|
229
|
-
static void gpr_timers_log_add(const char
|
230
|
-
int important, const char
|
231
|
-
gpr_timer_entry
|
229
|
+
static void gpr_timers_log_add(const char* tagstr, marker_type type,
|
230
|
+
int important, const char* file, int line) {
|
231
|
+
gpr_timer_entry* entry;
|
232
232
|
|
233
233
|
if (!g_writing_enabled) {
|
234
234
|
return;
|
@@ -250,17 +250,17 @@ static void gpr_timers_log_add(const char *tagstr, marker_type type,
|
|
250
250
|
}
|
251
251
|
|
252
252
|
/* Latency profiler API implementation. */
|
253
|
-
void gpr_timer_add_mark(const char
|
253
|
+
void gpr_timer_add_mark(const char* tagstr, int important, const char* file,
|
254
254
|
int line) {
|
255
255
|
gpr_timers_log_add(tagstr, MARK, important, file, line);
|
256
256
|
}
|
257
257
|
|
258
|
-
void gpr_timer_begin(const char
|
258
|
+
void gpr_timer_begin(const char* tagstr, int important, const char* file,
|
259
259
|
int line) {
|
260
260
|
gpr_timers_log_add(tagstr, BEGIN, important, file, line);
|
261
261
|
}
|
262
262
|
|
263
|
-
void gpr_timer_end(const char
|
263
|
+
void gpr_timer_end(const char* tagstr, int important, const char* file,
|
264
264
|
int line) {
|
265
265
|
gpr_timers_log_add(tagstr, END, important, file, line);
|
266
266
|
}
|
@@ -277,7 +277,7 @@ void gpr_timers_global_init(void) {}
|
|
277
277
|
|
278
278
|
void gpr_timers_global_destroy(void) {}
|
279
279
|
|
280
|
-
void gpr_timers_set_log_filename(const char
|
280
|
+
void gpr_timers_set_log_filename(const char* filename) {}
|
281
281
|
|
282
282
|
void gpr_timer_set_enabled(int enabled) {}
|
283
283
|
#endif /* GRPC_BASIC_PROFILER */
|
@@ -27,22 +27,22 @@
|
|
27
27
|
#include "src/core/lib/profiling/stap_probes.h"
|
28
28
|
|
29
29
|
/* Latency profiler API implementation. */
|
30
|
-
void gpr_timer_add_mark(int tag, const char
|
30
|
+
void gpr_timer_add_mark(int tag, const char* tagstr, void* id, const char* file,
|
31
31
|
int line) {
|
32
32
|
_STAP_ADD_MARK(tag);
|
33
33
|
}
|
34
34
|
|
35
|
-
void gpr_timer_add_important_mark(int tag, const char
|
36
|
-
const char
|
35
|
+
void gpr_timer_add_important_mark(int tag, const char* tagstr, void* id,
|
36
|
+
const char* file, int line) {
|
37
37
|
_STAP_ADD_IMPORTANT_MARK(tag);
|
38
38
|
}
|
39
39
|
|
40
|
-
void gpr_timer_begin(int tag, const char
|
40
|
+
void gpr_timer_begin(int tag, const char* tagstr, void* id, const char* file,
|
41
41
|
int line) {
|
42
42
|
_STAP_TIMING_NS_BEGIN(tag);
|
43
43
|
}
|
44
44
|
|
45
|
-
void gpr_timer_end(int tag, const char
|
45
|
+
void gpr_timer_end(int tag, const char* tagstr, void* id, const char* file,
|
46
46
|
int line) {
|
47
47
|
_STAP_TIMING_NS_END(tag);
|
48
48
|
}
|
@@ -26,14 +26,14 @@ extern "C" {
|
|
26
26
|
void gpr_timers_global_init(void);
|
27
27
|
void gpr_timers_global_destroy(void);
|
28
28
|
|
29
|
-
void gpr_timer_add_mark(const char
|
29
|
+
void gpr_timer_add_mark(const char* tagstr, int important, const char* file,
|
30
30
|
int line);
|
31
|
-
void gpr_timer_begin(const char
|
31
|
+
void gpr_timer_begin(const char* tagstr, int important, const char* file,
|
32
32
|
int line);
|
33
|
-
void gpr_timer_end(const char
|
33
|
+
void gpr_timer_end(const char* tagstr, int important, const char* file,
|
34
34
|
int line);
|
35
35
|
|
36
|
-
void gpr_timers_set_log_filename(const char
|
36
|
+
void gpr_timers_set_log_filename(const char* filename);
|
37
37
|
|
38
38
|
void gpr_timer_set_enabled(int enabled);
|
39
39
|
|
@@ -92,14 +92,14 @@ void gpr_timer_set_enabled(int enabled);
|
|
92
92
|
namespace grpc {
|
93
93
|
class ProfileScope {
|
94
94
|
public:
|
95
|
-
ProfileScope(const char
|
95
|
+
ProfileScope(const char* desc, bool important, const char* file, int line)
|
96
96
|
: desc_(desc) {
|
97
97
|
gpr_timer_begin(desc_, important ? 1 : 0, file, line);
|
98
98
|
}
|
99
99
|
~ProfileScope() { gpr_timer_end(desc_, 0, "n/a", 0); }
|
100
100
|
|
101
101
|
private:
|
102
|
-
const char
|
102
|
+
const char* const desc_;
|
103
103
|
};
|
104
104
|
} // namespace grpc
|
105
105
|
|
@@ -29,26 +29,24 @@
|
|
29
29
|
#include <grpc/support/log.h>
|
30
30
|
#include <grpc/support/string_util.h>
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
GRPC_TRACER_INITIALIZER(false, "auth_context_refcount");
|
35
|
-
#endif
|
32
|
+
grpc_core::DebugOnlyTraceFlag grpc_trace_auth_context_refcount(
|
33
|
+
false, "auth_context_refcount");
|
36
34
|
|
37
35
|
/* --- grpc_call --- */
|
38
36
|
|
39
|
-
grpc_call_error grpc_call_set_credentials(grpc_call
|
40
|
-
grpc_call_credentials
|
37
|
+
grpc_call_error grpc_call_set_credentials(grpc_call* call,
|
38
|
+
grpc_call_credentials* creds) {
|
41
39
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
42
|
-
grpc_client_security_context
|
40
|
+
grpc_client_security_context* ctx = nullptr;
|
43
41
|
GRPC_API_TRACE("grpc_call_set_credentials(call=%p, creds=%p)", 2,
|
44
42
|
(call, creds));
|
45
43
|
if (!grpc_call_is_client(call)) {
|
46
44
|
gpr_log(GPR_ERROR, "Method is client-side only.");
|
47
45
|
return GRPC_CALL_ERROR_NOT_ON_SERVER;
|
48
46
|
}
|
49
|
-
ctx = (grpc_client_security_context
|
47
|
+
ctx = (grpc_client_security_context*)grpc_call_context_get(
|
50
48
|
call, GRPC_CONTEXT_SECURITY);
|
51
|
-
if (ctx ==
|
49
|
+
if (ctx == nullptr) {
|
52
50
|
ctx = grpc_client_security_context_create();
|
53
51
|
ctx->creds = grpc_call_credentials_ref(creds);
|
54
52
|
grpc_call_context_set(call, GRPC_CONTEXT_SECURITY, ctx,
|
@@ -61,36 +59,37 @@ grpc_call_error grpc_call_set_credentials(grpc_call *call,
|
|
61
59
|
return GRPC_CALL_OK;
|
62
60
|
}
|
63
61
|
|
64
|
-
grpc_auth_context
|
65
|
-
void
|
62
|
+
grpc_auth_context* grpc_call_auth_context(grpc_call* call) {
|
63
|
+
void* sec_ctx = grpc_call_context_get(call, GRPC_CONTEXT_SECURITY);
|
66
64
|
GRPC_API_TRACE("grpc_call_auth_context(call=%p)", 1, (call));
|
67
|
-
if (sec_ctx ==
|
65
|
+
if (sec_ctx == nullptr) return nullptr;
|
68
66
|
return grpc_call_is_client(call)
|
69
67
|
? GRPC_AUTH_CONTEXT_REF(
|
70
|
-
((grpc_client_security_context
|
68
|
+
((grpc_client_security_context*)sec_ctx)->auth_context,
|
71
69
|
"grpc_call_auth_context client")
|
72
70
|
: GRPC_AUTH_CONTEXT_REF(
|
73
|
-
((grpc_server_security_context
|
71
|
+
((grpc_server_security_context*)sec_ctx)->auth_context,
|
74
72
|
"grpc_call_auth_context server");
|
75
73
|
}
|
76
74
|
|
77
|
-
void grpc_auth_context_release(grpc_auth_context
|
75
|
+
void grpc_auth_context_release(grpc_auth_context* context) {
|
78
76
|
GRPC_API_TRACE("grpc_auth_context_release(context=%p)", 1, (context));
|
79
77
|
GRPC_AUTH_CONTEXT_UNREF(context, "grpc_auth_context_unref");
|
80
78
|
}
|
81
79
|
|
82
80
|
/* --- grpc_client_security_context --- */
|
83
81
|
|
84
|
-
grpc_client_security_context
|
85
|
-
return
|
82
|
+
grpc_client_security_context* grpc_client_security_context_create(void) {
|
83
|
+
return (grpc_client_security_context*)gpr_zalloc(
|
84
|
+
sizeof(grpc_client_security_context));
|
86
85
|
}
|
87
86
|
|
88
|
-
void grpc_client_security_context_destroy(void
|
87
|
+
void grpc_client_security_context_destroy(void* ctx) {
|
89
88
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
90
|
-
grpc_client_security_context
|
89
|
+
grpc_client_security_context* c = (grpc_client_security_context*)ctx;
|
91
90
|
grpc_call_credentials_unref(&exec_ctx, c->creds);
|
92
91
|
GRPC_AUTH_CONTEXT_UNREF(c->auth_context, "client_security_context");
|
93
|
-
if (c->extension.instance !=
|
92
|
+
if (c->extension.instance != nullptr && c->extension.destroy != nullptr) {
|
94
93
|
c->extension.destroy(c->extension.instance);
|
95
94
|
}
|
96
95
|
gpr_free(ctx);
|
@@ -99,14 +98,15 @@ void grpc_client_security_context_destroy(void *ctx) {
|
|
99
98
|
|
100
99
|
/* --- grpc_server_security_context --- */
|
101
100
|
|
102
|
-
grpc_server_security_context
|
103
|
-
return
|
101
|
+
grpc_server_security_context* grpc_server_security_context_create(void) {
|
102
|
+
return (grpc_server_security_context*)gpr_zalloc(
|
103
|
+
sizeof(grpc_server_security_context));
|
104
104
|
}
|
105
105
|
|
106
|
-
void grpc_server_security_context_destroy(void
|
107
|
-
grpc_server_security_context
|
106
|
+
void grpc_server_security_context_destroy(void* ctx) {
|
107
|
+
grpc_server_security_context* c = (grpc_server_security_context*)ctx;
|
108
108
|
GRPC_AUTH_CONTEXT_UNREF(c->auth_context, "server_security_context");
|
109
|
-
if (c->extension.instance !=
|
109
|
+
if (c->extension.instance != nullptr && c->extension.destroy != nullptr) {
|
110
110
|
c->extension.destroy(c->extension.instance);
|
111
111
|
}
|
112
112
|
gpr_free(ctx);
|
@@ -114,12 +114,13 @@ void grpc_server_security_context_destroy(void *ctx) {
|
|
114
114
|
|
115
115
|
/* --- grpc_auth_context --- */
|
116
116
|
|
117
|
-
static grpc_auth_property_iterator empty_iterator = {
|
117
|
+
static grpc_auth_property_iterator empty_iterator = {nullptr, 0, nullptr};
|
118
118
|
|
119
|
-
grpc_auth_context
|
120
|
-
grpc_auth_context
|
119
|
+
grpc_auth_context* grpc_auth_context_create(grpc_auth_context* chained) {
|
120
|
+
grpc_auth_context* ctx =
|
121
|
+
(grpc_auth_context*)gpr_zalloc(sizeof(grpc_auth_context));
|
121
122
|
gpr_ref_init(&ctx->refcount, 1);
|
122
|
-
if (chained !=
|
123
|
+
if (chained != nullptr) {
|
123
124
|
ctx->chained = GRPC_AUTH_CONTEXT_REF(chained, "chained");
|
124
125
|
ctx->peer_identity_property_name =
|
125
126
|
ctx->chained->peer_identity_property_name;
|
@@ -128,18 +129,18 @@ grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained) {
|
|
128
129
|
}
|
129
130
|
|
130
131
|
#ifndef NDEBUG
|
131
|
-
grpc_auth_context
|
132
|
-
const char
|
133
|
-
const char
|
134
|
-
if (ctx ==
|
135
|
-
if (
|
132
|
+
grpc_auth_context* grpc_auth_context_ref(grpc_auth_context* ctx,
|
133
|
+
const char* file, int line,
|
134
|
+
const char* reason) {
|
135
|
+
if (ctx == nullptr) return nullptr;
|
136
|
+
if (grpc_trace_auth_context_refcount.enabled()) {
|
136
137
|
gpr_atm val = gpr_atm_no_barrier_load(&ctx->refcount.count);
|
137
138
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
138
139
|
"AUTH_CONTEXT:%p ref %" PRIdPTR " -> %" PRIdPTR " %s", ctx, val,
|
139
140
|
val + 1, reason);
|
140
141
|
}
|
141
142
|
#else
|
142
|
-
grpc_auth_context
|
143
|
+
grpc_auth_context* grpc_auth_context_ref(grpc_auth_context* ctx) {
|
143
144
|
if (ctx == NULL) return NULL;
|
144
145
|
#endif
|
145
146
|
gpr_ref(&ctx->refcount);
|
@@ -147,23 +148,23 @@ grpc_auth_context *grpc_auth_context_ref(grpc_auth_context *ctx) {
|
|
147
148
|
}
|
148
149
|
|
149
150
|
#ifndef NDEBUG
|
150
|
-
void grpc_auth_context_unref(grpc_auth_context
|
151
|
-
const char
|
152
|
-
if (ctx ==
|
153
|
-
if (
|
151
|
+
void grpc_auth_context_unref(grpc_auth_context* ctx, const char* file, int line,
|
152
|
+
const char* reason) {
|
153
|
+
if (ctx == nullptr) return;
|
154
|
+
if (grpc_trace_auth_context_refcount.enabled()) {
|
154
155
|
gpr_atm val = gpr_atm_no_barrier_load(&ctx->refcount.count);
|
155
156
|
gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
|
156
157
|
"AUTH_CONTEXT:%p unref %" PRIdPTR " -> %" PRIdPTR " %s", ctx, val,
|
157
158
|
val - 1, reason);
|
158
159
|
}
|
159
160
|
#else
|
160
|
-
void grpc_auth_context_unref(grpc_auth_context
|
161
|
+
void grpc_auth_context_unref(grpc_auth_context* ctx) {
|
161
162
|
if (ctx == NULL) return;
|
162
163
|
#endif
|
163
164
|
if (gpr_unref(&ctx->refcount)) {
|
164
165
|
size_t i;
|
165
166
|
GRPC_AUTH_CONTEXT_UNREF(ctx->chained, "chained");
|
166
|
-
if (ctx->properties.array !=
|
167
|
+
if (ctx->properties.array != nullptr) {
|
167
168
|
for (i = 0; i < ctx->properties.count; i++) {
|
168
169
|
grpc_auth_property_reset(&ctx->properties.array[i]);
|
169
170
|
}
|
@@ -173,59 +174,59 @@ void grpc_auth_context_unref(grpc_auth_context *ctx) {
|
|
173
174
|
}
|
174
175
|
}
|
175
176
|
|
176
|
-
const char
|
177
|
-
const grpc_auth_context
|
177
|
+
const char* grpc_auth_context_peer_identity_property_name(
|
178
|
+
const grpc_auth_context* ctx) {
|
178
179
|
GRPC_API_TRACE("grpc_auth_context_peer_identity_property_name(ctx=%p)", 1,
|
179
180
|
(ctx));
|
180
181
|
return ctx->peer_identity_property_name;
|
181
182
|
}
|
182
183
|
|
183
|
-
int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context
|
184
|
-
const char
|
184
|
+
int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context* ctx,
|
185
|
+
const char* name) {
|
185
186
|
grpc_auth_property_iterator it =
|
186
187
|
grpc_auth_context_find_properties_by_name(ctx, name);
|
187
|
-
const grpc_auth_property
|
188
|
+
const grpc_auth_property* prop = grpc_auth_property_iterator_next(&it);
|
188
189
|
GRPC_API_TRACE(
|
189
190
|
"grpc_auth_context_set_peer_identity_property_name(ctx=%p, name=%s)", 2,
|
190
191
|
(ctx, name));
|
191
|
-
if (prop ==
|
192
|
+
if (prop == nullptr) {
|
192
193
|
gpr_log(GPR_ERROR, "Property name %s not found in auth context.",
|
193
|
-
name !=
|
194
|
+
name != nullptr ? name : "NULL");
|
194
195
|
return 0;
|
195
196
|
}
|
196
197
|
ctx->peer_identity_property_name = prop->name;
|
197
198
|
return 1;
|
198
199
|
}
|
199
200
|
|
200
|
-
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context
|
201
|
+
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context* ctx) {
|
201
202
|
GRPC_API_TRACE("grpc_auth_context_peer_is_authenticated(ctx=%p)", 1, (ctx));
|
202
|
-
return ctx->peer_identity_property_name ==
|
203
|
+
return ctx->peer_identity_property_name == nullptr ? 0 : 1;
|
203
204
|
}
|
204
205
|
|
205
206
|
grpc_auth_property_iterator grpc_auth_context_property_iterator(
|
206
|
-
const grpc_auth_context
|
207
|
+
const grpc_auth_context* ctx) {
|
207
208
|
grpc_auth_property_iterator it = empty_iterator;
|
208
209
|
GRPC_API_TRACE("grpc_auth_context_property_iterator(ctx=%p)", 1, (ctx));
|
209
|
-
if (ctx ==
|
210
|
+
if (ctx == nullptr) return it;
|
210
211
|
it.ctx = ctx;
|
211
212
|
return it;
|
212
213
|
}
|
213
214
|
|
214
|
-
const grpc_auth_property
|
215
|
-
grpc_auth_property_iterator
|
215
|
+
const grpc_auth_property* grpc_auth_property_iterator_next(
|
216
|
+
grpc_auth_property_iterator* it) {
|
216
217
|
GRPC_API_TRACE("grpc_auth_property_iterator_next(it=%p)", 1, (it));
|
217
|
-
if (it ==
|
218
|
+
if (it == nullptr || it->ctx == nullptr) return nullptr;
|
218
219
|
while (it->index == it->ctx->properties.count) {
|
219
|
-
if (it->ctx->chained ==
|
220
|
+
if (it->ctx->chained == nullptr) return nullptr;
|
220
221
|
it->ctx = it->ctx->chained;
|
221
222
|
it->index = 0;
|
222
223
|
}
|
223
|
-
if (it->name ==
|
224
|
+
if (it->name == nullptr) {
|
224
225
|
return &it->ctx->properties.array[it->index++];
|
225
226
|
} else {
|
226
227
|
while (it->index < it->ctx->properties.count) {
|
227
|
-
const grpc_auth_property
|
228
|
-
GPR_ASSERT(prop->name !=
|
228
|
+
const grpc_auth_property* prop = &it->ctx->properties.array[it->index++];
|
229
|
+
GPR_ASSERT(prop->name != nullptr);
|
229
230
|
if (strcmp(it->name, prop->name) == 0) {
|
230
231
|
return prop;
|
231
232
|
}
|
@@ -236,55 +237,56 @@ const grpc_auth_property *grpc_auth_property_iterator_next(
|
|
236
237
|
}
|
237
238
|
|
238
239
|
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(
|
239
|
-
const grpc_auth_context
|
240
|
+
const grpc_auth_context* ctx, const char* name) {
|
240
241
|
grpc_auth_property_iterator it = empty_iterator;
|
241
242
|
GRPC_API_TRACE("grpc_auth_context_find_properties_by_name(ctx=%p, name=%s)",
|
242
243
|
2, (ctx, name));
|
243
|
-
if (ctx ==
|
244
|
+
if (ctx == nullptr || name == nullptr) return empty_iterator;
|
244
245
|
it.ctx = ctx;
|
245
246
|
it.name = name;
|
246
247
|
return it;
|
247
248
|
}
|
248
249
|
|
249
250
|
grpc_auth_property_iterator grpc_auth_context_peer_identity(
|
250
|
-
const grpc_auth_context
|
251
|
+
const grpc_auth_context* ctx) {
|
251
252
|
GRPC_API_TRACE("grpc_auth_context_peer_identity(ctx=%p)", 1, (ctx));
|
252
|
-
if (ctx ==
|
253
|
+
if (ctx == nullptr) return empty_iterator;
|
253
254
|
return grpc_auth_context_find_properties_by_name(
|
254
255
|
ctx, ctx->peer_identity_property_name);
|
255
256
|
}
|
256
257
|
|
257
|
-
static void ensure_auth_context_capacity(grpc_auth_context
|
258
|
+
static void ensure_auth_context_capacity(grpc_auth_context* ctx) {
|
258
259
|
if (ctx->properties.count == ctx->properties.capacity) {
|
259
260
|
ctx->properties.capacity =
|
260
261
|
GPR_MAX(ctx->properties.capacity + 8, ctx->properties.capacity * 2);
|
261
|
-
ctx->properties.array =
|
262
|
-
|
263
|
-
|
262
|
+
ctx->properties.array = (grpc_auth_property*)gpr_realloc(
|
263
|
+
ctx->properties.array,
|
264
|
+
ctx->properties.capacity * sizeof(grpc_auth_property));
|
264
265
|
}
|
265
266
|
}
|
266
267
|
|
267
|
-
void grpc_auth_context_add_property(grpc_auth_context
|
268
|
-
const char
|
269
|
-
grpc_auth_property
|
268
|
+
void grpc_auth_context_add_property(grpc_auth_context* ctx, const char* name,
|
269
|
+
const char* value, size_t value_length) {
|
270
|
+
grpc_auth_property* prop;
|
270
271
|
GRPC_API_TRACE(
|
271
272
|
"grpc_auth_context_add_property(ctx=%p, name=%s, value=%*.*s, "
|
272
273
|
"value_length=%lu)",
|
273
|
-
6,
|
274
|
-
|
274
|
+
6,
|
275
|
+
(ctx, name, (int)value_length, (int)value_length, value,
|
276
|
+
(unsigned long)value_length));
|
275
277
|
ensure_auth_context_capacity(ctx);
|
276
278
|
prop = &ctx->properties.array[ctx->properties.count++];
|
277
279
|
prop->name = gpr_strdup(name);
|
278
|
-
prop->value = gpr_malloc(value_length + 1);
|
280
|
+
prop->value = (char*)gpr_malloc(value_length + 1);
|
279
281
|
memcpy(prop->value, value, value_length);
|
280
282
|
prop->value[value_length] = '\0';
|
281
283
|
prop->value_length = value_length;
|
282
284
|
}
|
283
285
|
|
284
|
-
void grpc_auth_context_add_cstring_property(grpc_auth_context
|
285
|
-
const char
|
286
|
-
const char
|
287
|
-
grpc_auth_property
|
286
|
+
void grpc_auth_context_add_cstring_property(grpc_auth_context* ctx,
|
287
|
+
const char* name,
|
288
|
+
const char* value) {
|
289
|
+
grpc_auth_property* prop;
|
288
290
|
GRPC_API_TRACE(
|
289
291
|
"grpc_auth_context_add_cstring_property(ctx=%p, name=%s, value=%s)", 3,
|
290
292
|
(ctx, name, value));
|
@@ -295,48 +297,49 @@ void grpc_auth_context_add_cstring_property(grpc_auth_context *ctx,
|
|
295
297
|
prop->value_length = strlen(value);
|
296
298
|
}
|
297
299
|
|
298
|
-
void grpc_auth_property_reset(grpc_auth_property
|
300
|
+
void grpc_auth_property_reset(grpc_auth_property* property) {
|
299
301
|
gpr_free(property->name);
|
300
302
|
gpr_free(property->value);
|
301
303
|
memset(property, 0, sizeof(grpc_auth_property));
|
302
304
|
}
|
303
305
|
|
304
|
-
static void auth_context_pointer_arg_destroy(grpc_exec_ctx
|
305
|
-
GRPC_AUTH_CONTEXT_UNREF(p, "auth_context_pointer_arg");
|
306
|
+
static void auth_context_pointer_arg_destroy(grpc_exec_ctx* exec_ctx, void* p) {
|
307
|
+
GRPC_AUTH_CONTEXT_UNREF((grpc_auth_context*)p, "auth_context_pointer_arg");
|
306
308
|
}
|
307
309
|
|
308
|
-
static void
|
309
|
-
return GRPC_AUTH_CONTEXT_REF(p,
|
310
|
+
static void* auth_context_pointer_arg_copy(void* p) {
|
311
|
+
return GRPC_AUTH_CONTEXT_REF((grpc_auth_context*)p,
|
312
|
+
"auth_context_pointer_arg");
|
310
313
|
}
|
311
314
|
|
312
|
-
static int auth_context_pointer_cmp(void
|
315
|
+
static int auth_context_pointer_cmp(void* a, void* b) { return GPR_ICMP(a, b); }
|
313
316
|
|
314
317
|
static const grpc_arg_pointer_vtable auth_context_pointer_vtable = {
|
315
318
|
auth_context_pointer_arg_copy, auth_context_pointer_arg_destroy,
|
316
319
|
auth_context_pointer_cmp};
|
317
320
|
|
318
|
-
grpc_arg grpc_auth_context_to_arg(grpc_auth_context
|
319
|
-
return grpc_channel_arg_pointer_create(GRPC_AUTH_CONTEXT_ARG, p,
|
321
|
+
grpc_arg grpc_auth_context_to_arg(grpc_auth_context* p) {
|
322
|
+
return grpc_channel_arg_pointer_create((char*)GRPC_AUTH_CONTEXT_ARG, p,
|
320
323
|
&auth_context_pointer_vtable);
|
321
324
|
}
|
322
325
|
|
323
|
-
grpc_auth_context
|
324
|
-
if (strcmp(arg->key, GRPC_AUTH_CONTEXT_ARG) != 0) return
|
326
|
+
grpc_auth_context* grpc_auth_context_from_arg(const grpc_arg* arg) {
|
327
|
+
if (strcmp(arg->key, GRPC_AUTH_CONTEXT_ARG) != 0) return nullptr;
|
325
328
|
if (arg->type != GRPC_ARG_POINTER) {
|
326
329
|
gpr_log(GPR_ERROR, "Invalid type %d for arg %s", arg->type,
|
327
330
|
GRPC_AUTH_CONTEXT_ARG);
|
328
|
-
return
|
331
|
+
return nullptr;
|
329
332
|
}
|
330
|
-
return arg->value.pointer.p;
|
333
|
+
return (grpc_auth_context*)arg->value.pointer.p;
|
331
334
|
}
|
332
335
|
|
333
|
-
grpc_auth_context
|
334
|
-
const grpc_channel_args
|
336
|
+
grpc_auth_context* grpc_find_auth_context_in_args(
|
337
|
+
const grpc_channel_args* args) {
|
335
338
|
size_t i;
|
336
|
-
if (args ==
|
339
|
+
if (args == nullptr) return nullptr;
|
337
340
|
for (i = 0; i < args->num_args; i++) {
|
338
|
-
grpc_auth_context
|
339
|
-
if (p !=
|
341
|
+
grpc_auth_context* p = grpc_auth_context_from_arg(&args->args[i]);
|
342
|
+
if (p != nullptr) return p;
|
340
343
|
}
|
341
|
-
return
|
344
|
+
return nullptr;
|
342
345
|
}
|