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
@@ -22,9 +22,7 @@
|
|
22
22
|
#include "src/core/lib/iomgr/pollset.h"
|
23
23
|
#include "src/core/lib/security/credentials/credentials.h"
|
24
24
|
|
25
|
-
|
26
|
-
extern grpc_tracer_flag grpc_trace_auth_context_refcount;
|
27
|
-
#endif
|
25
|
+
extern grpc_core::DebugOnlyTraceFlag grpc_trace_auth_context_refcount;
|
28
26
|
|
29
27
|
#ifdef __cplusplus
|
30
28
|
extern "C" {
|
@@ -37,21 +35,21 @@ extern "C" {
|
|
37
35
|
/* Property names are always NULL terminated. */
|
38
36
|
|
39
37
|
typedef struct {
|
40
|
-
grpc_auth_property
|
38
|
+
grpc_auth_property* array;
|
41
39
|
size_t count;
|
42
40
|
size_t capacity;
|
43
41
|
} grpc_auth_property_array;
|
44
42
|
|
45
43
|
struct grpc_auth_context {
|
46
|
-
struct grpc_auth_context
|
44
|
+
struct grpc_auth_context* chained;
|
47
45
|
grpc_auth_property_array properties;
|
48
46
|
gpr_refcount refcount;
|
49
|
-
const char
|
50
|
-
grpc_pollset
|
47
|
+
const char* peer_identity_property_name;
|
48
|
+
grpc_pollset* pollset;
|
51
49
|
};
|
52
50
|
|
53
51
|
/* Creation. */
|
54
|
-
grpc_auth_context
|
52
|
+
grpc_auth_context* grpc_auth_context_create(grpc_auth_context* chained);
|
55
53
|
|
56
54
|
/* Refcounting. */
|
57
55
|
#ifndef NDEBUG
|
@@ -59,19 +57,19 @@ grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained);
|
|
59
57
|
grpc_auth_context_ref((p), __FILE__, __LINE__, (r))
|
60
58
|
#define GRPC_AUTH_CONTEXT_UNREF(p, r) \
|
61
59
|
grpc_auth_context_unref((p), __FILE__, __LINE__, (r))
|
62
|
-
grpc_auth_context
|
63
|
-
const char
|
64
|
-
const char
|
65
|
-
void grpc_auth_context_unref(grpc_auth_context
|
66
|
-
int line, const char
|
60
|
+
grpc_auth_context* grpc_auth_context_ref(grpc_auth_context* policy,
|
61
|
+
const char* file, int line,
|
62
|
+
const char* reason);
|
63
|
+
void grpc_auth_context_unref(grpc_auth_context* policy, const char* file,
|
64
|
+
int line, const char* reason);
|
67
65
|
#else
|
68
66
|
#define GRPC_AUTH_CONTEXT_REF(p, r) grpc_auth_context_ref((p))
|
69
67
|
#define GRPC_AUTH_CONTEXT_UNREF(p, r) grpc_auth_context_unref((p))
|
70
|
-
grpc_auth_context
|
71
|
-
void grpc_auth_context_unref(grpc_auth_context
|
68
|
+
grpc_auth_context* grpc_auth_context_ref(grpc_auth_context* policy);
|
69
|
+
void grpc_auth_context_unref(grpc_auth_context* policy);
|
72
70
|
#endif
|
73
71
|
|
74
|
-
void grpc_auth_property_reset(grpc_auth_property
|
72
|
+
void grpc_auth_property_reset(grpc_auth_property* property);
|
75
73
|
|
76
74
|
/* --- grpc_security_context_extension ---
|
77
75
|
|
@@ -79,8 +77,8 @@ void grpc_auth_property_reset(grpc_auth_property *property);
|
|
79
77
|
later by a higher level method on a grpc_call object. */
|
80
78
|
|
81
79
|
typedef struct {
|
82
|
-
void
|
83
|
-
void (*destroy)(void
|
80
|
+
void* instance;
|
81
|
+
void (*destroy)(void*);
|
84
82
|
} grpc_security_context_extension;
|
85
83
|
|
86
84
|
/* --- grpc_client_security_context ---
|
@@ -88,33 +86,33 @@ typedef struct {
|
|
88
86
|
Internal client-side security context. */
|
89
87
|
|
90
88
|
typedef struct {
|
91
|
-
grpc_call_credentials
|
92
|
-
grpc_auth_context
|
89
|
+
grpc_call_credentials* creds;
|
90
|
+
grpc_auth_context* auth_context;
|
93
91
|
grpc_security_context_extension extension;
|
94
92
|
} grpc_client_security_context;
|
95
93
|
|
96
|
-
grpc_client_security_context
|
97
|
-
void grpc_client_security_context_destroy(void
|
94
|
+
grpc_client_security_context* grpc_client_security_context_create(void);
|
95
|
+
void grpc_client_security_context_destroy(void* ctx);
|
98
96
|
|
99
97
|
/* --- grpc_server_security_context ---
|
100
98
|
|
101
99
|
Internal server-side security context. */
|
102
100
|
|
103
101
|
typedef struct {
|
104
|
-
grpc_auth_context
|
102
|
+
grpc_auth_context* auth_context;
|
105
103
|
grpc_security_context_extension extension;
|
106
104
|
} grpc_server_security_context;
|
107
105
|
|
108
|
-
grpc_server_security_context
|
109
|
-
void grpc_server_security_context_destroy(void
|
106
|
+
grpc_server_security_context* grpc_server_security_context_create(void);
|
107
|
+
void grpc_server_security_context_destroy(void* ctx);
|
110
108
|
|
111
109
|
/* --- Channel args for auth context --- */
|
112
110
|
#define GRPC_AUTH_CONTEXT_ARG "grpc.auth_context"
|
113
111
|
|
114
|
-
grpc_arg grpc_auth_context_to_arg(grpc_auth_context
|
115
|
-
grpc_auth_context
|
116
|
-
grpc_auth_context
|
117
|
-
const grpc_channel_args
|
112
|
+
grpc_arg grpc_auth_context_to_arg(grpc_auth_context* c);
|
113
|
+
grpc_auth_context* grpc_auth_context_from_arg(const grpc_arg* arg);
|
114
|
+
grpc_auth_context* grpc_find_auth_context_in_args(
|
115
|
+
const grpc_channel_args* args);
|
118
116
|
|
119
117
|
#ifdef __cplusplus
|
120
118
|
}
|
@@ -30,32 +30,32 @@
|
|
30
30
|
/* -- Composite call credentials. -- */
|
31
31
|
|
32
32
|
typedef struct {
|
33
|
-
grpc_composite_call_credentials
|
33
|
+
grpc_composite_call_credentials* composite_creds;
|
34
34
|
size_t creds_index;
|
35
|
-
grpc_polling_entity
|
35
|
+
grpc_polling_entity* pollent;
|
36
36
|
grpc_auth_metadata_context auth_md_context;
|
37
|
-
grpc_credentials_mdelem_array
|
38
|
-
grpc_closure
|
37
|
+
grpc_credentials_mdelem_array* md_array;
|
38
|
+
grpc_closure* on_request_metadata;
|
39
39
|
grpc_closure internal_on_request_metadata;
|
40
40
|
} grpc_composite_call_credentials_metadata_context;
|
41
41
|
|
42
|
-
static void composite_call_destruct(grpc_exec_ctx
|
43
|
-
grpc_call_credentials
|
44
|
-
grpc_composite_call_credentials
|
42
|
+
static void composite_call_destruct(grpc_exec_ctx* exec_ctx,
|
43
|
+
grpc_call_credentials* creds) {
|
44
|
+
grpc_composite_call_credentials* c = (grpc_composite_call_credentials*)creds;
|
45
45
|
for (size_t i = 0; i < c->inner.num_creds; i++) {
|
46
46
|
grpc_call_credentials_unref(exec_ctx, c->inner.creds_array[i]);
|
47
47
|
}
|
48
48
|
gpr_free(c->inner.creds_array);
|
49
49
|
}
|
50
50
|
|
51
|
-
static void composite_call_metadata_cb(grpc_exec_ctx
|
52
|
-
grpc_error
|
53
|
-
grpc_composite_call_credentials_metadata_context
|
54
|
-
(grpc_composite_call_credentials_metadata_context
|
51
|
+
static void composite_call_metadata_cb(grpc_exec_ctx* exec_ctx, void* arg,
|
52
|
+
grpc_error* error) {
|
53
|
+
grpc_composite_call_credentials_metadata_context* ctx =
|
54
|
+
(grpc_composite_call_credentials_metadata_context*)arg;
|
55
55
|
if (error == GRPC_ERROR_NONE) {
|
56
56
|
/* See if we need to get some more metadata. */
|
57
57
|
if (ctx->creds_index < ctx->composite_creds->inner.num_creds) {
|
58
|
-
grpc_call_credentials
|
58
|
+
grpc_call_credentials* inner_creds =
|
59
59
|
ctx->composite_creds->inner.creds_array[ctx->creds_index++];
|
60
60
|
if (grpc_call_credentials_get_request_metadata(
|
61
61
|
exec_ctx, inner_creds, ctx->pollent, ctx->auth_md_context,
|
@@ -73,13 +73,14 @@ static void composite_call_metadata_cb(grpc_exec_ctx *exec_ctx, void *arg,
|
|
73
73
|
}
|
74
74
|
|
75
75
|
static bool composite_call_get_request_metadata(
|
76
|
-
grpc_exec_ctx
|
77
|
-
grpc_polling_entity
|
78
|
-
grpc_credentials_mdelem_array
|
79
|
-
grpc_error
|
80
|
-
grpc_composite_call_credentials
|
81
|
-
grpc_composite_call_credentials_metadata_context
|
82
|
-
ctx =
|
76
|
+
grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
|
77
|
+
grpc_polling_entity* pollent, grpc_auth_metadata_context auth_md_context,
|
78
|
+
grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
|
79
|
+
grpc_error** error) {
|
80
|
+
grpc_composite_call_credentials* c = (grpc_composite_call_credentials*)creds;
|
81
|
+
grpc_composite_call_credentials_metadata_context* ctx;
|
82
|
+
ctx = (grpc_composite_call_credentials_metadata_context*)gpr_zalloc(
|
83
|
+
sizeof(grpc_composite_call_credentials_metadata_context));
|
83
84
|
ctx->composite_creds = c;
|
84
85
|
ctx->pollent = pollent;
|
85
86
|
ctx->auth_md_context = auth_md_context;
|
@@ -89,7 +90,7 @@ static bool composite_call_get_request_metadata(
|
|
89
90
|
composite_call_metadata_cb, ctx, grpc_schedule_on_exec_ctx);
|
90
91
|
bool synchronous = true;
|
91
92
|
while (ctx->creds_index < ctx->composite_creds->inner.num_creds) {
|
92
|
-
grpc_call_credentials
|
93
|
+
grpc_call_credentials* inner_creds =
|
93
94
|
ctx->composite_creds->inner.creds_array[ctx->creds_index++];
|
94
95
|
if (grpc_call_credentials_get_request_metadata(
|
95
96
|
exec_ctx, inner_creds, ctx->pollent, ctx->auth_md_context,
|
@@ -105,9 +106,9 @@ static bool composite_call_get_request_metadata(
|
|
105
106
|
}
|
106
107
|
|
107
108
|
static void composite_call_cancel_get_request_metadata(
|
108
|
-
grpc_exec_ctx
|
109
|
-
grpc_credentials_mdelem_array
|
110
|
-
grpc_composite_call_credentials
|
109
|
+
grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
|
110
|
+
grpc_credentials_mdelem_array* md_array, grpc_error* error) {
|
111
|
+
grpc_composite_call_credentials* c = (grpc_composite_call_credentials*)creds;
|
111
112
|
for (size_t i = 0; i < c->inner.num_creds; ++i) {
|
112
113
|
grpc_call_credentials_cancel_get_request_metadata(
|
113
114
|
exec_ctx, c->inner.creds_array[i], md_array, GRPC_ERROR_REF(error));
|
@@ -120,9 +121,9 @@ static grpc_call_credentials_vtable composite_call_credentials_vtable = {
|
|
120
121
|
composite_call_cancel_get_request_metadata};
|
121
122
|
|
122
123
|
static grpc_call_credentials_array get_creds_array(
|
123
|
-
grpc_call_credentials
|
124
|
+
grpc_call_credentials** creds_addr) {
|
124
125
|
grpc_call_credentials_array result;
|
125
|
-
grpc_call_credentials
|
126
|
+
grpc_call_credentials* creds = *creds_addr;
|
126
127
|
result.creds_array = creds_addr;
|
127
128
|
result.num_creds = 1;
|
128
129
|
if (strcmp(creds->type, GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE) == 0) {
|
@@ -131,97 +132,100 @@ static grpc_call_credentials_array get_creds_array(
|
|
131
132
|
return result;
|
132
133
|
}
|
133
134
|
|
134
|
-
grpc_call_credentials
|
135
|
-
grpc_call_credentials
|
136
|
-
void
|
135
|
+
grpc_call_credentials* grpc_composite_call_credentials_create(
|
136
|
+
grpc_call_credentials* creds1, grpc_call_credentials* creds2,
|
137
|
+
void* reserved) {
|
137
138
|
size_t i;
|
138
139
|
size_t creds_array_byte_size;
|
139
140
|
grpc_call_credentials_array creds1_array;
|
140
141
|
grpc_call_credentials_array creds2_array;
|
141
|
-
grpc_composite_call_credentials
|
142
|
+
grpc_composite_call_credentials* c;
|
142
143
|
GRPC_API_TRACE(
|
143
144
|
"grpc_composite_call_credentials_create(creds1=%p, creds2=%p, "
|
144
145
|
"reserved=%p)",
|
145
146
|
3, (creds1, creds2, reserved));
|
146
|
-
GPR_ASSERT(reserved ==
|
147
|
-
GPR_ASSERT(creds1 !=
|
148
|
-
GPR_ASSERT(creds2 !=
|
149
|
-
c =
|
147
|
+
GPR_ASSERT(reserved == nullptr);
|
148
|
+
GPR_ASSERT(creds1 != nullptr);
|
149
|
+
GPR_ASSERT(creds2 != nullptr);
|
150
|
+
c = (grpc_composite_call_credentials*)gpr_zalloc(
|
151
|
+
sizeof(grpc_composite_call_credentials));
|
150
152
|
c->base.type = GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE;
|
151
153
|
c->base.vtable = &composite_call_credentials_vtable;
|
152
154
|
gpr_ref_init(&c->base.refcount, 1);
|
153
155
|
creds1_array = get_creds_array(&creds1);
|
154
156
|
creds2_array = get_creds_array(&creds2);
|
155
157
|
c->inner.num_creds = creds1_array.num_creds + creds2_array.num_creds;
|
156
|
-
creds_array_byte_size = c->inner.num_creds * sizeof(grpc_call_credentials
|
157
|
-
c->inner.creds_array =
|
158
|
+
creds_array_byte_size = c->inner.num_creds * sizeof(grpc_call_credentials*);
|
159
|
+
c->inner.creds_array =
|
160
|
+
(grpc_call_credentials**)gpr_zalloc(creds_array_byte_size);
|
158
161
|
for (i = 0; i < creds1_array.num_creds; i++) {
|
159
|
-
grpc_call_credentials
|
162
|
+
grpc_call_credentials* cur_creds = creds1_array.creds_array[i];
|
160
163
|
c->inner.creds_array[i] = grpc_call_credentials_ref(cur_creds);
|
161
164
|
}
|
162
165
|
for (i = 0; i < creds2_array.num_creds; i++) {
|
163
|
-
grpc_call_credentials
|
166
|
+
grpc_call_credentials* cur_creds = creds2_array.creds_array[i];
|
164
167
|
c->inner.creds_array[i + creds1_array.num_creds] =
|
165
168
|
grpc_call_credentials_ref(cur_creds);
|
166
169
|
}
|
167
170
|
return &c->base;
|
168
171
|
}
|
169
172
|
|
170
|
-
const grpc_call_credentials_array
|
171
|
-
grpc_composite_call_credentials_get_credentials(grpc_call_credentials
|
172
|
-
const grpc_composite_call_credentials
|
173
|
-
(const grpc_composite_call_credentials
|
173
|
+
const grpc_call_credentials_array*
|
174
|
+
grpc_composite_call_credentials_get_credentials(grpc_call_credentials* creds) {
|
175
|
+
const grpc_composite_call_credentials* c =
|
176
|
+
(const grpc_composite_call_credentials*)creds;
|
174
177
|
GPR_ASSERT(strcmp(creds->type, GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE) == 0);
|
175
178
|
return &c->inner;
|
176
179
|
}
|
177
180
|
|
178
|
-
grpc_call_credentials
|
179
|
-
grpc_call_credentials
|
180
|
-
grpc_call_credentials
|
181
|
+
grpc_call_credentials* grpc_credentials_contains_type(
|
182
|
+
grpc_call_credentials* creds, const char* type,
|
183
|
+
grpc_call_credentials** composite_creds) {
|
181
184
|
size_t i;
|
182
185
|
if (strcmp(creds->type, type) == 0) {
|
183
|
-
if (composite_creds !=
|
186
|
+
if (composite_creds != nullptr) *composite_creds = nullptr;
|
184
187
|
return creds;
|
185
188
|
} else if (strcmp(creds->type, GRPC_CALL_CREDENTIALS_TYPE_COMPOSITE) == 0) {
|
186
|
-
const grpc_call_credentials_array
|
189
|
+
const grpc_call_credentials_array* inner_creds_array =
|
187
190
|
grpc_composite_call_credentials_get_credentials(creds);
|
188
191
|
for (i = 0; i < inner_creds_array->num_creds; i++) {
|
189
192
|
if (strcmp(type, inner_creds_array->creds_array[i]->type) == 0) {
|
190
|
-
if (composite_creds !=
|
193
|
+
if (composite_creds != nullptr) *composite_creds = creds;
|
191
194
|
return inner_creds_array->creds_array[i];
|
192
195
|
}
|
193
196
|
}
|
194
197
|
}
|
195
|
-
return
|
198
|
+
return nullptr;
|
196
199
|
}
|
197
200
|
|
198
201
|
/* -- Composite channel credentials. -- */
|
199
202
|
|
200
|
-
static void composite_channel_destruct(grpc_exec_ctx
|
201
|
-
grpc_channel_credentials
|
202
|
-
grpc_composite_channel_credentials
|
203
|
-
(grpc_composite_channel_credentials
|
203
|
+
static void composite_channel_destruct(grpc_exec_ctx* exec_ctx,
|
204
|
+
grpc_channel_credentials* creds) {
|
205
|
+
grpc_composite_channel_credentials* c =
|
206
|
+
(grpc_composite_channel_credentials*)creds;
|
204
207
|
grpc_channel_credentials_unref(exec_ctx, c->inner_creds);
|
205
208
|
grpc_call_credentials_unref(exec_ctx, c->call_creds);
|
206
209
|
}
|
207
210
|
|
208
211
|
static grpc_security_status composite_channel_create_security_connector(
|
209
|
-
grpc_exec_ctx
|
210
|
-
grpc_call_credentials
|
211
|
-
const grpc_channel_args
|
212
|
-
grpc_channel_args
|
213
|
-
grpc_composite_channel_credentials
|
214
|
-
(grpc_composite_channel_credentials
|
212
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_credentials* creds,
|
213
|
+
grpc_call_credentials* call_creds, const char* target,
|
214
|
+
const grpc_channel_args* args, grpc_channel_security_connector** sc,
|
215
|
+
grpc_channel_args** new_args) {
|
216
|
+
grpc_composite_channel_credentials* c =
|
217
|
+
(grpc_composite_channel_credentials*)creds;
|
215
218
|
grpc_security_status status = GRPC_SECURITY_ERROR;
|
216
219
|
|
217
|
-
GPR_ASSERT(c->inner_creds !=
|
218
|
-
c->inner_creds->vtable !=
|
219
|
-
c->inner_creds->vtable->create_security_connector !=
|
220
|
+
GPR_ASSERT(c->inner_creds != nullptr && c->call_creds != nullptr &&
|
221
|
+
c->inner_creds->vtable != nullptr &&
|
222
|
+
c->inner_creds->vtable->create_security_connector != nullptr);
|
220
223
|
/* If we are passed a call_creds, create a call composite to pass it
|
221
224
|
downstream. */
|
222
|
-
if (call_creds !=
|
223
|
-
grpc_call_credentials
|
224
|
-
grpc_composite_call_credentials_create(c->call_creds, call_creds,
|
225
|
+
if (call_creds != nullptr) {
|
226
|
+
grpc_call_credentials* composite_call_creds =
|
227
|
+
grpc_composite_call_credentials_create(c->call_creds, call_creds,
|
228
|
+
nullptr);
|
225
229
|
status = c->inner_creds->vtable->create_security_connector(
|
226
230
|
exec_ctx, c->inner_creds, composite_call_creds, target, args, sc,
|
227
231
|
new_args);
|
@@ -233,11 +237,11 @@ static grpc_security_status composite_channel_create_security_connector(
|
|
233
237
|
return status;
|
234
238
|
}
|
235
239
|
|
236
|
-
static grpc_channel_credentials
|
240
|
+
static grpc_channel_credentials*
|
237
241
|
composite_channel_duplicate_without_call_credentials(
|
238
|
-
grpc_channel_credentials
|
239
|
-
grpc_composite_channel_credentials
|
240
|
-
(grpc_composite_channel_credentials
|
242
|
+
grpc_channel_credentials* creds) {
|
243
|
+
grpc_composite_channel_credentials* c =
|
244
|
+
(grpc_composite_channel_credentials*)creds;
|
241
245
|
return grpc_channel_credentials_ref(c->inner_creds);
|
242
246
|
}
|
243
247
|
|
@@ -245,11 +249,13 @@ static grpc_channel_credentials_vtable composite_channel_credentials_vtable = {
|
|
245
249
|
composite_channel_destruct, composite_channel_create_security_connector,
|
246
250
|
composite_channel_duplicate_without_call_credentials};
|
247
251
|
|
248
|
-
grpc_channel_credentials
|
249
|
-
grpc_channel_credentials
|
250
|
-
void
|
251
|
-
grpc_composite_channel_credentials
|
252
|
-
|
252
|
+
grpc_channel_credentials* grpc_composite_channel_credentials_create(
|
253
|
+
grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds,
|
254
|
+
void* reserved) {
|
255
|
+
grpc_composite_channel_credentials* c =
|
256
|
+
(grpc_composite_channel_credentials*)gpr_zalloc(sizeof(*c));
|
257
|
+
GPR_ASSERT(channel_creds != nullptr && call_creds != nullptr &&
|
258
|
+
reserved == nullptr);
|
253
259
|
GRPC_API_TRACE(
|
254
260
|
"grpc_composite_channel_credentials_create(channel_creds=%p, "
|
255
261
|
"call_creds=%p, reserved=%p)",
|
@@ -21,29 +21,33 @@
|
|
21
21
|
|
22
22
|
#include "src/core/lib/security/credentials/credentials.h"
|
23
23
|
|
24
|
+
#ifdef __cplusplus
|
25
|
+
extern "C" {
|
26
|
+
#endif
|
27
|
+
|
24
28
|
typedef struct {
|
25
|
-
grpc_call_credentials
|
29
|
+
grpc_call_credentials** creds_array;
|
26
30
|
size_t num_creds;
|
27
31
|
} grpc_call_credentials_array;
|
28
32
|
|
29
|
-
const grpc_call_credentials_array
|
33
|
+
const grpc_call_credentials_array*
|
30
34
|
grpc_composite_call_credentials_get_credentials(
|
31
|
-
grpc_call_credentials
|
35
|
+
grpc_call_credentials* composite_creds);
|
32
36
|
|
33
37
|
/* Returns creds if creds is of the specified type or the inner creds of the
|
34
38
|
specified type (if found), if the creds is of type COMPOSITE.
|
35
39
|
If composite_creds is not NULL, *composite_creds will point to creds if of
|
36
40
|
type COMPOSITE in case of success. */
|
37
|
-
grpc_call_credentials
|
38
|
-
grpc_call_credentials
|
39
|
-
grpc_call_credentials
|
41
|
+
grpc_call_credentials* grpc_credentials_contains_type(
|
42
|
+
grpc_call_credentials* creds, const char* type,
|
43
|
+
grpc_call_credentials** composite_creds);
|
40
44
|
|
41
45
|
/* -- Composite channel credentials. -- */
|
42
46
|
|
43
47
|
typedef struct {
|
44
48
|
grpc_channel_credentials base;
|
45
|
-
grpc_channel_credentials
|
46
|
-
grpc_call_credentials
|
49
|
+
grpc_channel_credentials* inner_creds;
|
50
|
+
grpc_call_credentials* call_creds;
|
47
51
|
} grpc_composite_channel_credentials;
|
48
52
|
|
49
53
|
/* -- Composite call credentials. -- */
|
@@ -53,5 +57,9 @@ typedef struct {
|
|
53
57
|
grpc_call_credentials_array inner;
|
54
58
|
} grpc_composite_call_credentials;
|
55
59
|
|
60
|
+
#ifdef __cplusplus
|
61
|
+
}
|
62
|
+
#endif
|
63
|
+
|
56
64
|
#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H \
|
57
|
-
|
65
|
+
*/
|
@@ -37,64 +37,65 @@
|
|
37
37
|
|
38
38
|
/* -- Common. -- */
|
39
39
|
|
40
|
-
grpc_credentials_metadata_request
|
41
|
-
grpc_call_credentials
|
42
|
-
grpc_credentials_metadata_request
|
43
|
-
|
40
|
+
grpc_credentials_metadata_request* grpc_credentials_metadata_request_create(
|
41
|
+
grpc_call_credentials* creds) {
|
42
|
+
grpc_credentials_metadata_request* r =
|
43
|
+
(grpc_credentials_metadata_request*)gpr_zalloc(
|
44
|
+
sizeof(grpc_credentials_metadata_request));
|
44
45
|
r->creds = grpc_call_credentials_ref(creds);
|
45
46
|
return r;
|
46
47
|
}
|
47
48
|
|
48
49
|
void grpc_credentials_metadata_request_destroy(
|
49
|
-
grpc_exec_ctx
|
50
|
+
grpc_exec_ctx* exec_ctx, grpc_credentials_metadata_request* r) {
|
50
51
|
grpc_call_credentials_unref(exec_ctx, r->creds);
|
51
52
|
grpc_http_response_destroy(&r->response);
|
52
53
|
gpr_free(r);
|
53
54
|
}
|
54
55
|
|
55
|
-
grpc_channel_credentials
|
56
|
-
grpc_channel_credentials
|
57
|
-
if (creds ==
|
56
|
+
grpc_channel_credentials* grpc_channel_credentials_ref(
|
57
|
+
grpc_channel_credentials* creds) {
|
58
|
+
if (creds == nullptr) return nullptr;
|
58
59
|
gpr_ref(&creds->refcount);
|
59
60
|
return creds;
|
60
61
|
}
|
61
62
|
|
62
|
-
void grpc_channel_credentials_unref(grpc_exec_ctx
|
63
|
-
grpc_channel_credentials
|
64
|
-
if (creds ==
|
63
|
+
void grpc_channel_credentials_unref(grpc_exec_ctx* exec_ctx,
|
64
|
+
grpc_channel_credentials* creds) {
|
65
|
+
if (creds == nullptr) return;
|
65
66
|
if (gpr_unref(&creds->refcount)) {
|
66
|
-
if (creds->vtable->destruct !=
|
67
|
+
if (creds->vtable->destruct != nullptr) {
|
67
68
|
creds->vtable->destruct(exec_ctx, creds);
|
68
69
|
}
|
69
70
|
gpr_free(creds);
|
70
71
|
}
|
71
72
|
}
|
72
73
|
|
73
|
-
void grpc_channel_credentials_release(grpc_channel_credentials
|
74
|
+
void grpc_channel_credentials_release(grpc_channel_credentials* creds) {
|
74
75
|
GRPC_API_TRACE("grpc_channel_credentials_release(creds=%p)", 1, (creds));
|
75
76
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
76
77
|
grpc_channel_credentials_unref(&exec_ctx, creds);
|
77
78
|
grpc_exec_ctx_finish(&exec_ctx);
|
78
79
|
}
|
79
80
|
|
80
|
-
grpc_call_credentials
|
81
|
-
if (creds ==
|
81
|
+
grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds) {
|
82
|
+
if (creds == nullptr) return nullptr;
|
82
83
|
gpr_ref(&creds->refcount);
|
83
84
|
return creds;
|
84
85
|
}
|
85
86
|
|
86
|
-
void grpc_call_credentials_unref(grpc_exec_ctx
|
87
|
-
grpc_call_credentials
|
88
|
-
if (creds ==
|
87
|
+
void grpc_call_credentials_unref(grpc_exec_ctx* exec_ctx,
|
88
|
+
grpc_call_credentials* creds) {
|
89
|
+
if (creds == nullptr) return;
|
89
90
|
if (gpr_unref(&creds->refcount)) {
|
90
|
-
if (creds->vtable->destruct !=
|
91
|
+
if (creds->vtable->destruct != nullptr) {
|
91
92
|
creds->vtable->destruct(exec_ctx, creds);
|
92
93
|
}
|
93
94
|
gpr_free(creds);
|
94
95
|
}
|
95
96
|
}
|
96
97
|
|
97
|
-
void grpc_call_credentials_release(grpc_call_credentials
|
98
|
+
void grpc_call_credentials_release(grpc_call_credentials* creds) {
|
98
99
|
GRPC_API_TRACE("grpc_call_credentials_release(creds=%p)", 1, (creds));
|
99
100
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
100
101
|
grpc_call_credentials_unref(&exec_ctx, creds);
|
@@ -102,11 +103,11 @@ void grpc_call_credentials_release(grpc_call_credentials *creds) {
|
|
102
103
|
}
|
103
104
|
|
104
105
|
bool grpc_call_credentials_get_request_metadata(
|
105
|
-
grpc_exec_ctx
|
106
|
-
grpc_polling_entity
|
107
|
-
grpc_credentials_mdelem_array
|
108
|
-
grpc_error
|
109
|
-
if (creds ==
|
106
|
+
grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
|
107
|
+
grpc_polling_entity* pollent, grpc_auth_metadata_context context,
|
108
|
+
grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
|
109
|
+
grpc_error** error) {
|
110
|
+
if (creds == nullptr || creds->vtable->get_request_metadata == nullptr) {
|
110
111
|
return true;
|
111
112
|
}
|
112
113
|
return creds->vtable->get_request_metadata(
|
@@ -114,32 +115,33 @@ bool grpc_call_credentials_get_request_metadata(
|
|
114
115
|
}
|
115
116
|
|
116
117
|
void grpc_call_credentials_cancel_get_request_metadata(
|
117
|
-
grpc_exec_ctx
|
118
|
-
grpc_credentials_mdelem_array
|
119
|
-
if (creds ==
|
118
|
+
grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
|
119
|
+
grpc_credentials_mdelem_array* md_array, grpc_error* error) {
|
120
|
+
if (creds == nullptr ||
|
121
|
+
creds->vtable->cancel_get_request_metadata == nullptr) {
|
120
122
|
return;
|
121
123
|
}
|
122
124
|
creds->vtable->cancel_get_request_metadata(exec_ctx, creds, md_array, error);
|
123
125
|
}
|
124
126
|
|
125
127
|
grpc_security_status grpc_channel_credentials_create_security_connector(
|
126
|
-
grpc_exec_ctx
|
127
|
-
const char
|
128
|
-
grpc_channel_security_connector
|
129
|
-
*new_args =
|
130
|
-
if (channel_creds ==
|
128
|
+
grpc_exec_ctx* exec_ctx, grpc_channel_credentials* channel_creds,
|
129
|
+
const char* target, const grpc_channel_args* args,
|
130
|
+
grpc_channel_security_connector** sc, grpc_channel_args** new_args) {
|
131
|
+
*new_args = nullptr;
|
132
|
+
if (channel_creds == nullptr) {
|
131
133
|
return GRPC_SECURITY_ERROR;
|
132
134
|
}
|
133
|
-
GPR_ASSERT(channel_creds->vtable->create_security_connector !=
|
135
|
+
GPR_ASSERT(channel_creds->vtable->create_security_connector != nullptr);
|
134
136
|
return channel_creds->vtable->create_security_connector(
|
135
|
-
exec_ctx, channel_creds,
|
137
|
+
exec_ctx, channel_creds, nullptr, target, args, sc, new_args);
|
136
138
|
}
|
137
139
|
|
138
|
-
grpc_channel_credentials
|
140
|
+
grpc_channel_credentials*
|
139
141
|
grpc_channel_credentials_duplicate_without_call_credentials(
|
140
|
-
grpc_channel_credentials
|
141
|
-
if (channel_creds !=
|
142
|
-
channel_creds->vtable->duplicate_without_call_credentials !=
|
142
|
+
grpc_channel_credentials* channel_creds) {
|
143
|
+
if (channel_creds != nullptr && channel_creds->vtable != nullptr &&
|
144
|
+
channel_creds->vtable->duplicate_without_call_credentials != nullptr) {
|
143
145
|
return channel_creds->vtable->duplicate_without_call_credentials(
|
144
146
|
channel_creds);
|
145
147
|
} else {
|
@@ -147,71 +149,73 @@ grpc_channel_credentials_duplicate_without_call_credentials(
|
|
147
149
|
}
|
148
150
|
}
|
149
151
|
|
150
|
-
static void credentials_pointer_arg_destroy(grpc_exec_ctx
|
151
|
-
grpc_channel_credentials_unref(exec_ctx, p);
|
152
|
+
static void credentials_pointer_arg_destroy(grpc_exec_ctx* exec_ctx, void* p) {
|
153
|
+
grpc_channel_credentials_unref(exec_ctx, (grpc_channel_credentials*)p);
|
152
154
|
}
|
153
155
|
|
154
|
-
static void
|
155
|
-
return grpc_channel_credentials_ref(p);
|
156
|
+
static void* credentials_pointer_arg_copy(void* p) {
|
157
|
+
return grpc_channel_credentials_ref((grpc_channel_credentials*)p);
|
156
158
|
}
|
157
159
|
|
158
|
-
static int credentials_pointer_cmp(void
|
160
|
+
static int credentials_pointer_cmp(void* a, void* b) { return GPR_ICMP(a, b); }
|
159
161
|
|
160
162
|
static const grpc_arg_pointer_vtable credentials_pointer_vtable = {
|
161
163
|
credentials_pointer_arg_copy, credentials_pointer_arg_destroy,
|
162
164
|
credentials_pointer_cmp};
|
163
165
|
|
164
166
|
grpc_arg grpc_channel_credentials_to_arg(
|
165
|
-
grpc_channel_credentials
|
166
|
-
return grpc_channel_arg_pointer_create(
|
167
|
-
|
167
|
+
grpc_channel_credentials* credentials) {
|
168
|
+
return grpc_channel_arg_pointer_create((char*)GRPC_ARG_CHANNEL_CREDENTIALS,
|
169
|
+
credentials,
|
170
|
+
&credentials_pointer_vtable);
|
168
171
|
}
|
169
172
|
|
170
|
-
grpc_channel_credentials
|
171
|
-
const grpc_arg
|
172
|
-
if (strcmp(arg->key, GRPC_ARG_CHANNEL_CREDENTIALS)) return
|
173
|
+
grpc_channel_credentials* grpc_channel_credentials_from_arg(
|
174
|
+
const grpc_arg* arg) {
|
175
|
+
if (strcmp(arg->key, GRPC_ARG_CHANNEL_CREDENTIALS)) return nullptr;
|
173
176
|
if (arg->type != GRPC_ARG_POINTER) {
|
174
177
|
gpr_log(GPR_ERROR, "Invalid type %d for arg %s", arg->type,
|
175
178
|
GRPC_ARG_CHANNEL_CREDENTIALS);
|
176
|
-
return
|
179
|
+
return nullptr;
|
177
180
|
}
|
178
|
-
return arg->value.pointer.p;
|
181
|
+
return (grpc_channel_credentials*)arg->value.pointer.p;
|
179
182
|
}
|
180
183
|
|
181
|
-
grpc_channel_credentials
|
182
|
-
const grpc_channel_args
|
184
|
+
grpc_channel_credentials* grpc_channel_credentials_find_in_args(
|
185
|
+
const grpc_channel_args* args) {
|
183
186
|
size_t i;
|
184
|
-
if (args ==
|
187
|
+
if (args == nullptr) return nullptr;
|
185
188
|
for (i = 0; i < args->num_args; i++) {
|
186
|
-
grpc_channel_credentials
|
189
|
+
grpc_channel_credentials* credentials =
|
187
190
|
grpc_channel_credentials_from_arg(&args->args[i]);
|
188
|
-
if (credentials !=
|
191
|
+
if (credentials != nullptr) return credentials;
|
189
192
|
}
|
190
|
-
return
|
193
|
+
return nullptr;
|
191
194
|
}
|
192
195
|
|
193
|
-
grpc_server_credentials
|
194
|
-
grpc_server_credentials
|
195
|
-
if (creds ==
|
196
|
+
grpc_server_credentials* grpc_server_credentials_ref(
|
197
|
+
grpc_server_credentials* creds) {
|
198
|
+
if (creds == nullptr) return nullptr;
|
196
199
|
gpr_ref(&creds->refcount);
|
197
200
|
return creds;
|
198
201
|
}
|
199
202
|
|
200
|
-
void grpc_server_credentials_unref(grpc_exec_ctx
|
201
|
-
grpc_server_credentials
|
202
|
-
if (creds ==
|
203
|
+
void grpc_server_credentials_unref(grpc_exec_ctx* exec_ctx,
|
204
|
+
grpc_server_credentials* creds) {
|
205
|
+
if (creds == nullptr) return;
|
203
206
|
if (gpr_unref(&creds->refcount)) {
|
204
|
-
if (creds->vtable->destruct !=
|
207
|
+
if (creds->vtable->destruct != nullptr) {
|
205
208
|
creds->vtable->destruct(exec_ctx, creds);
|
206
209
|
}
|
207
|
-
if (creds->processor.destroy !=
|
210
|
+
if (creds->processor.destroy != nullptr &&
|
211
|
+
creds->processor.state != nullptr) {
|
208
212
|
creds->processor.destroy(creds->processor.state);
|
209
213
|
}
|
210
214
|
gpr_free(creds);
|
211
215
|
}
|
212
216
|
}
|
213
217
|
|
214
|
-
void grpc_server_credentials_release(grpc_server_credentials
|
218
|
+
void grpc_server_credentials_release(grpc_server_credentials* creds) {
|
215
219
|
GRPC_API_TRACE("grpc_server_credentials_release(creds=%p)", 1, (creds));
|
216
220
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
217
221
|
grpc_server_credentials_unref(&exec_ctx, creds);
|
@@ -219,9 +223,9 @@ void grpc_server_credentials_release(grpc_server_credentials *creds) {
|
|
219
223
|
}
|
220
224
|
|
221
225
|
grpc_security_status grpc_server_credentials_create_security_connector(
|
222
|
-
grpc_exec_ctx
|
223
|
-
grpc_server_security_connector
|
224
|
-
if (creds ==
|
226
|
+
grpc_exec_ctx* exec_ctx, grpc_server_credentials* creds,
|
227
|
+
grpc_server_security_connector** sc) {
|
228
|
+
if (creds == nullptr || creds->vtable->create_security_connector == nullptr) {
|
225
229
|
gpr_log(GPR_ERROR, "Server credentials cannot create security context.");
|
226
230
|
return GRPC_SECURITY_ERROR;
|
227
231
|
}
|
@@ -229,29 +233,30 @@ grpc_security_status grpc_server_credentials_create_security_connector(
|
|
229
233
|
}
|
230
234
|
|
231
235
|
void grpc_server_credentials_set_auth_metadata_processor(
|
232
|
-
grpc_server_credentials
|
236
|
+
grpc_server_credentials* creds, grpc_auth_metadata_processor processor) {
|
233
237
|
GRPC_API_TRACE(
|
234
238
|
"grpc_server_credentials_set_auth_metadata_processor("
|
235
239
|
"creds=%p, "
|
236
240
|
"processor=grpc_auth_metadata_processor { process: %p, state: %p })",
|
237
|
-
3, (creds, (void
|
238
|
-
if (creds ==
|
239
|
-
if (creds->processor.destroy !=
|
241
|
+
3, (creds, (void*)(intptr_t)processor.process, processor.state));
|
242
|
+
if (creds == nullptr) return;
|
243
|
+
if (creds->processor.destroy != nullptr &&
|
244
|
+
creds->processor.state != nullptr) {
|
240
245
|
creds->processor.destroy(creds->processor.state);
|
241
246
|
}
|
242
247
|
creds->processor = processor;
|
243
248
|
}
|
244
249
|
|
245
|
-
static void server_credentials_pointer_arg_destroy(grpc_exec_ctx
|
246
|
-
void
|
247
|
-
grpc_server_credentials_unref(exec_ctx, p);
|
250
|
+
static void server_credentials_pointer_arg_destroy(grpc_exec_ctx* exec_ctx,
|
251
|
+
void* p) {
|
252
|
+
grpc_server_credentials_unref(exec_ctx, (grpc_server_credentials*)p);
|
248
253
|
}
|
249
254
|
|
250
|
-
static void
|
251
|
-
return grpc_server_credentials_ref(p);
|
255
|
+
static void* server_credentials_pointer_arg_copy(void* p) {
|
256
|
+
return grpc_server_credentials_ref((grpc_server_credentials*)p);
|
252
257
|
}
|
253
258
|
|
254
|
-
static int server_credentials_pointer_cmp(void
|
259
|
+
static int server_credentials_pointer_cmp(void* a, void* b) {
|
255
260
|
return GPR_ICMP(a, b);
|
256
261
|
}
|
257
262
|
|
@@ -259,29 +264,29 @@ static const grpc_arg_pointer_vtable cred_ptr_vtable = {
|
|
259
264
|
server_credentials_pointer_arg_copy, server_credentials_pointer_arg_destroy,
|
260
265
|
server_credentials_pointer_cmp};
|
261
266
|
|
262
|
-
grpc_arg grpc_server_credentials_to_arg(grpc_server_credentials
|
263
|
-
return grpc_channel_arg_pointer_create(GRPC_SERVER_CREDENTIALS_ARG, p,
|
267
|
+
grpc_arg grpc_server_credentials_to_arg(grpc_server_credentials* p) {
|
268
|
+
return grpc_channel_arg_pointer_create((char*)GRPC_SERVER_CREDENTIALS_ARG, p,
|
264
269
|
&cred_ptr_vtable);
|
265
270
|
}
|
266
271
|
|
267
|
-
grpc_server_credentials
|
268
|
-
if (strcmp(arg->key, GRPC_SERVER_CREDENTIALS_ARG) != 0) return
|
272
|
+
grpc_server_credentials* grpc_server_credentials_from_arg(const grpc_arg* arg) {
|
273
|
+
if (strcmp(arg->key, GRPC_SERVER_CREDENTIALS_ARG) != 0) return nullptr;
|
269
274
|
if (arg->type != GRPC_ARG_POINTER) {
|
270
275
|
gpr_log(GPR_ERROR, "Invalid type %d for arg %s", arg->type,
|
271
276
|
GRPC_SERVER_CREDENTIALS_ARG);
|
272
|
-
return
|
277
|
+
return nullptr;
|
273
278
|
}
|
274
|
-
return arg->value.pointer.p;
|
279
|
+
return (grpc_server_credentials*)arg->value.pointer.p;
|
275
280
|
}
|
276
281
|
|
277
|
-
grpc_server_credentials
|
278
|
-
const grpc_channel_args
|
282
|
+
grpc_server_credentials* grpc_find_server_credentials_in_args(
|
283
|
+
const grpc_channel_args* args) {
|
279
284
|
size_t i;
|
280
|
-
if (args ==
|
285
|
+
if (args == nullptr) return nullptr;
|
281
286
|
for (i = 0; i < args->num_args; i++) {
|
282
|
-
grpc_server_credentials
|
287
|
+
grpc_server_credentials* p =
|
283
288
|
grpc_server_credentials_from_arg(&args->args[i]);
|
284
|
-
if (p !=
|
289
|
+
if (p != nullptr) return p;
|
285
290
|
}
|
286
|
-
return
|
291
|
+
return nullptr;
|
287
292
|
}
|