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
data/include/grpc/grpc_posix.h
CHANGED
@@ -37,8 +37,8 @@ extern "C" {
|
|
37
37
|
/** Create a client channel to 'target' using file descriptor 'fd'. The 'target'
|
38
38
|
argument will be used to indicate the name for this channel. See the comment
|
39
39
|
for grpc_insecure_channel_create for description of 'args' argument. */
|
40
|
-
GRPCAPI grpc_channel
|
41
|
-
const char
|
40
|
+
GRPCAPI grpc_channel* grpc_insecure_channel_create_from_fd(
|
41
|
+
const char* target, int fd, const grpc_channel_args* args);
|
42
42
|
|
43
43
|
/** Add the connected communication channel based on file descriptor 'fd' to the
|
44
44
|
'server'. The 'fd' must be an open file descriptor corresponding to a
|
@@ -48,8 +48,8 @@ GRPCAPI grpc_channel *grpc_insecure_channel_create_from_fd(
|
|
48
48
|
|
49
49
|
The 'reserved' pointer MUST be NULL.
|
50
50
|
*/
|
51
|
-
GRPCAPI void grpc_server_add_insecure_channel_from_fd(grpc_server
|
52
|
-
void
|
51
|
+
GRPCAPI void grpc_server_add_insecure_channel_from_fd(grpc_server* server,
|
52
|
+
void* reserved, int fd);
|
53
53
|
|
54
54
|
/** GRPC Core POSIX library may internally use signals to optimize some work.
|
55
55
|
The library uses (SIGRTMIN + 6) signal by default. Use this API to instruct
|
@@ -32,51 +32,51 @@ extern "C" {
|
|
32
32
|
typedef struct grpc_auth_context grpc_auth_context;
|
33
33
|
|
34
34
|
typedef struct grpc_auth_property_iterator {
|
35
|
-
const grpc_auth_context
|
35
|
+
const grpc_auth_context* ctx;
|
36
36
|
size_t index;
|
37
|
-
const char
|
37
|
+
const char* name;
|
38
38
|
} grpc_auth_property_iterator;
|
39
39
|
|
40
40
|
/** value, if not NULL, is guaranteed to be NULL terminated. */
|
41
41
|
typedef struct grpc_auth_property {
|
42
|
-
char
|
43
|
-
char
|
42
|
+
char* name;
|
43
|
+
char* value;
|
44
44
|
size_t value_length;
|
45
45
|
} grpc_auth_property;
|
46
46
|
|
47
47
|
/** Returns NULL when the iterator is at the end. */
|
48
|
-
GRPCAPI const grpc_auth_property
|
49
|
-
grpc_auth_property_iterator
|
48
|
+
GRPCAPI const grpc_auth_property* grpc_auth_property_iterator_next(
|
49
|
+
grpc_auth_property_iterator* it);
|
50
50
|
|
51
51
|
/** Iterates over the auth context. */
|
52
52
|
GRPCAPI grpc_auth_property_iterator
|
53
|
-
grpc_auth_context_property_iterator(const grpc_auth_context
|
53
|
+
grpc_auth_context_property_iterator(const grpc_auth_context* ctx);
|
54
54
|
|
55
55
|
/** Gets the peer identity. Returns an empty iterator (first _next will return
|
56
56
|
NULL) if the peer is not authenticated. */
|
57
57
|
GRPCAPI grpc_auth_property_iterator
|
58
|
-
grpc_auth_context_peer_identity(const grpc_auth_context
|
58
|
+
grpc_auth_context_peer_identity(const grpc_auth_context* ctx);
|
59
59
|
|
60
60
|
/** Finds a property in the context. May return an empty iterator (first _next
|
61
61
|
will return NULL) if no property with this name was found in the context. */
|
62
62
|
GRPCAPI grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(
|
63
|
-
const grpc_auth_context
|
63
|
+
const grpc_auth_context* ctx, const char* name);
|
64
64
|
|
65
65
|
/** Gets the name of the property that indicates the peer identity. Will return
|
66
66
|
NULL if the peer is not authenticated. */
|
67
|
-
GRPCAPI const char
|
68
|
-
const grpc_auth_context
|
67
|
+
GRPCAPI const char* grpc_auth_context_peer_identity_property_name(
|
68
|
+
const grpc_auth_context* ctx);
|
69
69
|
|
70
70
|
/** Returns 1 if the peer is authenticated, 0 otherwise. */
|
71
71
|
GRPCAPI int grpc_auth_context_peer_is_authenticated(
|
72
|
-
const grpc_auth_context
|
72
|
+
const grpc_auth_context* ctx);
|
73
73
|
|
74
74
|
/** Gets the auth context from the call. Caller needs to call
|
75
75
|
grpc_auth_context_release on the returned context. */
|
76
|
-
GRPCAPI grpc_auth_context
|
76
|
+
GRPCAPI grpc_auth_context* grpc_call_auth_context(grpc_call* call);
|
77
77
|
|
78
78
|
/** Releases the auth context returned from grpc_call_auth_context. */
|
79
|
-
GRPCAPI void grpc_auth_context_release(grpc_auth_context
|
79
|
+
GRPCAPI void grpc_auth_context_release(grpc_auth_context* context);
|
80
80
|
|
81
81
|
/** --
|
82
82
|
The following auth context methods should only be called by a server metadata
|
@@ -84,19 +84,19 @@ GRPCAPI void grpc_auth_context_release(grpc_auth_context *context);
|
|
84
84
|
-- */
|
85
85
|
|
86
86
|
/** Add a property. */
|
87
|
-
GRPCAPI void grpc_auth_context_add_property(grpc_auth_context
|
88
|
-
const char
|
87
|
+
GRPCAPI void grpc_auth_context_add_property(grpc_auth_context* ctx,
|
88
|
+
const char* name, const char* value,
|
89
89
|
size_t value_length);
|
90
90
|
|
91
91
|
/** Add a C string property. */
|
92
|
-
GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context
|
93
|
-
const char
|
94
|
-
const char
|
92
|
+
GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context* ctx,
|
93
|
+
const char* name,
|
94
|
+
const char* value);
|
95
95
|
|
96
96
|
/** Sets the property name. Returns 1 if successful or 0 in case of failure
|
97
97
|
(which means that no property with this name exists). */
|
98
98
|
GRPCAPI int grpc_auth_context_set_peer_identity_property_name(
|
99
|
-
grpc_auth_context
|
99
|
+
grpc_auth_context* ctx, const char* name);
|
100
100
|
|
101
101
|
/** --- grpc_channel_credentials object. ---
|
102
102
|
|
@@ -107,12 +107,12 @@ typedef struct grpc_channel_credentials grpc_channel_credentials;
|
|
107
107
|
|
108
108
|
/** Releases a channel credentials object.
|
109
109
|
The creator of the credentials object is responsible for its release. */
|
110
|
-
GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials
|
110
|
+
GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials* creds);
|
111
111
|
|
112
112
|
/** Creates default credentials to connect to a google gRPC service.
|
113
113
|
WARNING: Do NOT use this credentials to connect to a non-google service as
|
114
114
|
this could result in an oauth2 token leak. */
|
115
|
-
GRPCAPI grpc_channel_credentials
|
115
|
+
GRPCAPI grpc_channel_credentials* grpc_google_default_credentials_create(void);
|
116
116
|
|
117
117
|
/** Callback for getting the SSL roots override from the application.
|
118
118
|
In case of success, *pem_roots_certs must be set to a NULL terminated string
|
@@ -121,7 +121,7 @@ GRPCAPI grpc_channel_credentials *grpc_google_default_credentials_create(void);
|
|
121
121
|
If this function fails and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is
|
122
122
|
set to a valid path, it will override the roots specified this func */
|
123
123
|
typedef grpc_ssl_roots_override_result (*grpc_ssl_roots_override_callback)(
|
124
|
-
char
|
124
|
+
char** pem_root_certs);
|
125
125
|
|
126
126
|
/** Setup a callback to override the default TLS/SSL roots.
|
127
127
|
This function is not thread-safe and must be called at initialization time
|
@@ -135,11 +135,11 @@ GRPCAPI void grpc_set_ssl_roots_override_callback(
|
|
135
135
|
typedef struct {
|
136
136
|
/** private_key is the NULL-terminated string containing the PEM encoding of
|
137
137
|
the client's private key. */
|
138
|
-
const char
|
138
|
+
const char* private_key;
|
139
139
|
|
140
140
|
/** cert_chain is the NULL-terminated string containing the PEM encoding of
|
141
141
|
the client's certificate chain. */
|
142
|
-
const char
|
142
|
+
const char* cert_chain;
|
143
143
|
} grpc_ssl_pem_key_cert_pair;
|
144
144
|
|
145
145
|
/** Creates an SSL credentials object.
|
@@ -153,9 +153,9 @@ typedef struct {
|
|
153
153
|
- pem_key_cert_pair is a pointer on the object containing client's private
|
154
154
|
key and certificate chain. This parameter can be NULL if the client does
|
155
155
|
not have such a key/cert pair. */
|
156
|
-
GRPCAPI grpc_channel_credentials
|
157
|
-
const char
|
158
|
-
void
|
156
|
+
GRPCAPI grpc_channel_credentials* grpc_ssl_credentials_create(
|
157
|
+
const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pair,
|
158
|
+
void* reserved);
|
159
159
|
|
160
160
|
/** --- grpc_call_credentials object.
|
161
161
|
|
@@ -167,35 +167,35 @@ typedef struct grpc_call_credentials grpc_call_credentials;
|
|
167
167
|
|
168
168
|
/** Releases a call credentials object.
|
169
169
|
The creator of the credentials object is responsible for its release. */
|
170
|
-
GRPCAPI void grpc_call_credentials_release(grpc_call_credentials
|
170
|
+
GRPCAPI void grpc_call_credentials_release(grpc_call_credentials* creds);
|
171
171
|
|
172
172
|
/** Creates a composite channel credentials object. */
|
173
|
-
GRPCAPI grpc_channel_credentials
|
174
|
-
grpc_channel_credentials
|
175
|
-
void
|
173
|
+
GRPCAPI grpc_channel_credentials* grpc_composite_channel_credentials_create(
|
174
|
+
grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds,
|
175
|
+
void* reserved);
|
176
176
|
|
177
177
|
/** Creates a composite call credentials object. */
|
178
|
-
GRPCAPI grpc_call_credentials
|
179
|
-
grpc_call_credentials
|
180
|
-
void
|
178
|
+
GRPCAPI grpc_call_credentials* grpc_composite_call_credentials_create(
|
179
|
+
grpc_call_credentials* creds1, grpc_call_credentials* creds2,
|
180
|
+
void* reserved);
|
181
181
|
|
182
182
|
/** Creates a compute engine credentials object for connecting to Google.
|
183
183
|
WARNING: Do NOT use this credentials to connect to a non-google service as
|
184
184
|
this could result in an oauth2 token leak. */
|
185
|
-
GRPCAPI grpc_call_credentials
|
186
|
-
void
|
185
|
+
GRPCAPI grpc_call_credentials* grpc_google_compute_engine_credentials_create(
|
186
|
+
void* reserved);
|
187
187
|
|
188
|
-
GRPCAPI gpr_timespec grpc_max_auth_token_lifetime();
|
188
|
+
GRPCAPI gpr_timespec grpc_max_auth_token_lifetime(void);
|
189
189
|
|
190
190
|
/** Creates a JWT credentials object. May return NULL if the input is invalid.
|
191
191
|
- json_key is the JSON key string containing the client's private key.
|
192
192
|
- token_lifetime is the lifetime of each Json Web Token (JWT) created with
|
193
193
|
this credentials. It should not exceed grpc_max_auth_token_lifetime or
|
194
194
|
will be cropped to this value. */
|
195
|
-
GRPCAPI grpc_call_credentials
|
196
|
-
grpc_service_account_jwt_access_credentials_create(const char
|
195
|
+
GRPCAPI grpc_call_credentials*
|
196
|
+
grpc_service_account_jwt_access_credentials_create(const char* json_key,
|
197
197
|
gpr_timespec token_lifetime,
|
198
|
-
void
|
198
|
+
void* reserved);
|
199
199
|
|
200
200
|
/** Creates an Oauth2 Refresh Token credentials object for connecting to Google.
|
201
201
|
May return NULL if the input is invalid.
|
@@ -203,18 +203,18 @@ grpc_service_account_jwt_access_credentials_create(const char *json_key,
|
|
203
203
|
this could result in an oauth2 token leak.
|
204
204
|
- json_refresh_token is the JSON string containing the refresh token itself
|
205
205
|
along with a client_id and client_secret. */
|
206
|
-
GRPCAPI grpc_call_credentials
|
207
|
-
const char
|
206
|
+
GRPCAPI grpc_call_credentials* grpc_google_refresh_token_credentials_create(
|
207
|
+
const char* json_refresh_token, void* reserved);
|
208
208
|
|
209
209
|
/** Creates an Oauth2 Access Token credentials with an access token that was
|
210
210
|
aquired by an out of band mechanism. */
|
211
|
-
GRPCAPI grpc_call_credentials
|
212
|
-
const char
|
211
|
+
GRPCAPI grpc_call_credentials* grpc_access_token_credentials_create(
|
212
|
+
const char* access_token, void* reserved);
|
213
213
|
|
214
214
|
/** Creates an IAM credentials object for connecting to Google. */
|
215
|
-
GRPCAPI grpc_call_credentials
|
216
|
-
const char
|
217
|
-
void
|
215
|
+
GRPCAPI grpc_call_credentials* grpc_google_iam_credentials_create(
|
216
|
+
const char* authorization_token, const char* authority_selector,
|
217
|
+
void* reserved);
|
218
218
|
|
219
219
|
/** Callback function to be called by the metadata credentials plugin
|
220
220
|
implementation when the metadata is ready.
|
@@ -228,25 +228,25 @@ GRPCAPI grpc_call_credentials *grpc_google_iam_credentials_create(
|
|
228
228
|
- error_details contains details about the error if any. In case of success
|
229
229
|
it should be NULL and will be otherwise ignored. */
|
230
230
|
typedef void (*grpc_credentials_plugin_metadata_cb)(
|
231
|
-
void
|
232
|
-
grpc_status_code status, const char
|
231
|
+
void* user_data, const grpc_metadata* creds_md, size_t num_creds_md,
|
232
|
+
grpc_status_code status, const char* error_details);
|
233
233
|
|
234
234
|
/** Context that can be used by metadata credentials plugin in order to create
|
235
235
|
auth related metadata. */
|
236
236
|
typedef struct {
|
237
237
|
/** The fully qualifed service url. */
|
238
|
-
const char
|
238
|
+
const char* service_url;
|
239
239
|
|
240
240
|
/** The method name of the RPC being called (not fully qualified).
|
241
241
|
The fully qualified method name can be built from the service_url:
|
242
242
|
full_qualified_method_name = ctx->service_url + '/' + ctx->method_name. */
|
243
|
-
const char
|
243
|
+
const char* method_name;
|
244
244
|
|
245
245
|
/** The auth_context of the channel which gives the server's identity. */
|
246
|
-
const grpc_auth_context
|
246
|
+
const grpc_auth_context* channel_auth_context;
|
247
247
|
|
248
248
|
/** Reserved for future use. */
|
249
|
-
void
|
249
|
+
void* reserved;
|
250
250
|
} grpc_auth_metadata_context;
|
251
251
|
|
252
252
|
/** Maximum number of metadata entries returnable by a credentials plugin via
|
@@ -278,32 +278,32 @@ typedef struct {
|
|
278
278
|
\a context is the information that can be used by the plugin to create
|
279
279
|
auth metadata. */
|
280
280
|
int (*get_metadata)(
|
281
|
-
void
|
282
|
-
grpc_credentials_plugin_metadata_cb cb, void
|
281
|
+
void* state, grpc_auth_metadata_context context,
|
282
|
+
grpc_credentials_plugin_metadata_cb cb, void* user_data,
|
283
283
|
grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX],
|
284
|
-
size_t
|
285
|
-
const char
|
284
|
+
size_t* num_creds_md, grpc_status_code* status,
|
285
|
+
const char** error_details);
|
286
286
|
|
287
287
|
/** Destroys the plugin state. */
|
288
|
-
void (*destroy)(void
|
288
|
+
void (*destroy)(void* state);
|
289
289
|
|
290
290
|
/** State that will be set as the first parameter of the methods above. */
|
291
|
-
void
|
291
|
+
void* state;
|
292
292
|
|
293
293
|
/** Type of credentials that this plugin is implementing. */
|
294
|
-
const char
|
294
|
+
const char* type;
|
295
295
|
} grpc_metadata_credentials_plugin;
|
296
296
|
|
297
297
|
/** Creates a credentials object from a plugin. */
|
298
|
-
GRPCAPI grpc_call_credentials
|
299
|
-
grpc_metadata_credentials_plugin plugin, void
|
298
|
+
GRPCAPI grpc_call_credentials* grpc_metadata_credentials_create_from_plugin(
|
299
|
+
grpc_metadata_credentials_plugin plugin, void* reserved);
|
300
300
|
|
301
301
|
/** --- Secure channel creation. --- */
|
302
302
|
|
303
303
|
/** Creates a secure channel using the passed-in credentials. */
|
304
|
-
GRPCAPI grpc_channel
|
305
|
-
grpc_channel_credentials
|
306
|
-
const grpc_channel_args
|
304
|
+
GRPCAPI grpc_channel* grpc_secure_channel_create(
|
305
|
+
grpc_channel_credentials* creds, const char* target,
|
306
|
+
const grpc_channel_args* args, void* reserved);
|
307
307
|
|
308
308
|
/** --- grpc_server_credentials object. ---
|
309
309
|
|
@@ -314,7 +314,44 @@ typedef struct grpc_server_credentials grpc_server_credentials;
|
|
314
314
|
/** Releases a server_credentials object.
|
315
315
|
The creator of the server_credentials object is responsible for its release.
|
316
316
|
*/
|
317
|
-
GRPCAPI void grpc_server_credentials_release(grpc_server_credentials
|
317
|
+
GRPCAPI void grpc_server_credentials_release(grpc_server_credentials* creds);
|
318
|
+
|
319
|
+
/** Server certificate config object holds the server's public certificates and
|
320
|
+
associated private keys, as well as any CA certificates needed for client
|
321
|
+
certificate validation (if applicable). Create using
|
322
|
+
grpc_ssl_server_certificate_config_create(). */
|
323
|
+
typedef struct grpc_ssl_server_certificate_config
|
324
|
+
grpc_ssl_server_certificate_config;
|
325
|
+
|
326
|
+
/** Creates a grpc_ssl_server_certificate_config object.
|
327
|
+
- pem_roots_cert is the NULL-terminated string containing the PEM encoding of
|
328
|
+
the client root certificates. This parameter may be NULL if the server does
|
329
|
+
not want the client to be authenticated with SSL.
|
330
|
+
- pem_key_cert_pairs is an array private key / certificate chains of the
|
331
|
+
server. This parameter cannot be NULL.
|
332
|
+
- num_key_cert_pairs indicates the number of items in the private_key_files
|
333
|
+
and cert_chain_files parameters. It must be at least 1.
|
334
|
+
- It is the caller's responsibility to free this object via
|
335
|
+
grpc_ssl_server_certificate_config_destroy(). */
|
336
|
+
GRPCAPI grpc_ssl_server_certificate_config*
|
337
|
+
grpc_ssl_server_certificate_config_create(
|
338
|
+
const char* pem_root_certs,
|
339
|
+
const grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs,
|
340
|
+
size_t num_key_cert_pairs);
|
341
|
+
|
342
|
+
/** Destroys a grpc_ssl_server_certificate_config object. */
|
343
|
+
GRPCAPI void grpc_ssl_server_certificate_config_destroy(
|
344
|
+
grpc_ssl_server_certificate_config* config);
|
345
|
+
|
346
|
+
/** Callback to retrieve updated SSL server certificates, private keys, and
|
347
|
+
trusted CAs (for client authentication).
|
348
|
+
- user_data parameter, if not NULL, contains opaque data to be used by the
|
349
|
+
callback.
|
350
|
+
- Use grpc_ssl_server_certificate_config_create to create the config.
|
351
|
+
- The caller assumes ownership of the config. */
|
352
|
+
typedef grpc_ssl_certificate_config_reload_status (
|
353
|
+
*grpc_ssl_server_certificate_config_callback)(
|
354
|
+
void* user_data, grpc_ssl_server_certificate_config** config);
|
318
355
|
|
319
356
|
/** Deprecated in favor of grpc_ssl_server_credentials_create_ex.
|
320
357
|
Creates an SSL server_credentials object.
|
@@ -328,34 +365,69 @@ GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds);
|
|
328
365
|
- force_client_auth, if set to non-zero will force the client to authenticate
|
329
366
|
with an SSL cert. Note that this option is ignored if pem_root_certs is
|
330
367
|
NULL. */
|
331
|
-
GRPCAPI grpc_server_credentials
|
332
|
-
const char
|
333
|
-
size_t num_key_cert_pairs, int force_client_auth, void
|
368
|
+
GRPCAPI grpc_server_credentials* grpc_ssl_server_credentials_create(
|
369
|
+
const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs,
|
370
|
+
size_t num_key_cert_pairs, int force_client_auth, void* reserved);
|
334
371
|
|
335
|
-
/**
|
372
|
+
/** Deprecated in favor of grpc_ssl_server_credentials_create_with_options.
|
373
|
+
Same as grpc_ssl_server_credentials_create method except uses
|
336
374
|
grpc_ssl_client_certificate_request_type enum to support more ways to
|
337
375
|
authenticate client cerificates.*/
|
338
|
-
GRPCAPI grpc_server_credentials
|
339
|
-
const char
|
376
|
+
GRPCAPI grpc_server_credentials* grpc_ssl_server_credentials_create_ex(
|
377
|
+
const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs,
|
340
378
|
size_t num_key_cert_pairs,
|
341
379
|
grpc_ssl_client_certificate_request_type client_certificate_request,
|
342
|
-
void
|
380
|
+
void* reserved);
|
381
|
+
|
382
|
+
typedef struct grpc_ssl_server_credentials_options
|
383
|
+
grpc_ssl_server_credentials_options;
|
384
|
+
|
385
|
+
/** Creates an options object using a certificate config. Use this method when
|
386
|
+
the certificates and keys of the SSL server will not change during the
|
387
|
+
server's lifetime.
|
388
|
+
- Takes ownership of the certificate_config parameter. */
|
389
|
+
GRPCAPI grpc_ssl_server_credentials_options*
|
390
|
+
grpc_ssl_server_credentials_create_options_using_config(
|
391
|
+
grpc_ssl_client_certificate_request_type client_certificate_request,
|
392
|
+
grpc_ssl_server_certificate_config* certificate_config);
|
393
|
+
|
394
|
+
/** Creates an options object using a certificate config fetcher. Use this
|
395
|
+
method to reload the certificates and keys of the SSL server without
|
396
|
+
interrupting the operation of the server. Initial certificate config will be
|
397
|
+
fetched during server initialization.
|
398
|
+
- user_data parameter, if not NULL, contains opaque data which will be passed
|
399
|
+
to the fetcher (see definition of
|
400
|
+
grpc_ssl_server_certificate_config_callback). */
|
401
|
+
GRPCAPI grpc_ssl_server_credentials_options*
|
402
|
+
grpc_ssl_server_credentials_create_options_using_config_fetcher(
|
403
|
+
grpc_ssl_client_certificate_request_type client_certificate_request,
|
404
|
+
grpc_ssl_server_certificate_config_callback cb, void* user_data);
|
405
|
+
|
406
|
+
/** Destroys a grpc_ssl_server_credentials_options object. */
|
407
|
+
GRPCAPI void grpc_ssl_server_credentials_options_destroy(
|
408
|
+
grpc_ssl_server_credentials_options* options);
|
409
|
+
|
410
|
+
/** Creates an SSL server_credentials object using the provided options struct.
|
411
|
+
- Takes ownership of the options parameter. */
|
412
|
+
GRPCAPI grpc_server_credentials*
|
413
|
+
grpc_ssl_server_credentials_create_with_options(
|
414
|
+
grpc_ssl_server_credentials_options* options);
|
343
415
|
|
344
416
|
/** --- Server-side secure ports. --- */
|
345
417
|
|
346
418
|
/** Add a HTTP2 over an encrypted link over tcp listener.
|
347
419
|
Returns bound port number on success, 0 on failure.
|
348
420
|
REQUIRES: server not started */
|
349
|
-
GRPCAPI int grpc_server_add_secure_http2_port(grpc_server
|
350
|
-
const char
|
351
|
-
grpc_server_credentials
|
421
|
+
GRPCAPI int grpc_server_add_secure_http2_port(grpc_server* server,
|
422
|
+
const char* addr,
|
423
|
+
grpc_server_credentials* creds);
|
352
424
|
|
353
425
|
/** --- Call specific credentials. --- */
|
354
426
|
|
355
427
|
/** Sets a credentials to a call. Can only be called on the client side before
|
356
428
|
grpc_call_start_batch. */
|
357
|
-
GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call
|
358
|
-
grpc_call_credentials
|
429
|
+
GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call* call,
|
430
|
+
grpc_call_credentials* creds);
|
359
431
|
|
360
432
|
/** --- Auth Metadata Processing --- */
|
361
433
|
|
@@ -369,9 +441,9 @@ GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call *call,
|
|
369
441
|
GRPC_STATUS PERMISSION_DENIED in case of an authorization failure.
|
370
442
|
- error_details gives details about the error. May be NULL. */
|
371
443
|
typedef void (*grpc_process_auth_metadata_done_cb)(
|
372
|
-
void
|
373
|
-
const grpc_metadata
|
374
|
-
grpc_status_code status, const char
|
444
|
+
void* user_data, const grpc_metadata* consumed_md, size_t num_consumed_md,
|
445
|
+
const grpc_metadata* response_md, size_t num_response_md,
|
446
|
+
grpc_status_code status, const char* error_details);
|
375
447
|
|
376
448
|
/** Pluggable server-side metadata processor object. */
|
377
449
|
typedef struct {
|
@@ -379,15 +451,15 @@ typedef struct {
|
|
379
451
|
channel peer and it is the job of the process function to augment it with
|
380
452
|
properties derived from the passed-in metadata.
|
381
453
|
The lifetime of these objects is guaranteed until cb is invoked. */
|
382
|
-
void (*process)(void
|
383
|
-
const grpc_metadata
|
384
|
-
grpc_process_auth_metadata_done_cb cb, void
|
385
|
-
void (*destroy)(void
|
386
|
-
void
|
454
|
+
void (*process)(void* state, grpc_auth_context* context,
|
455
|
+
const grpc_metadata* md, size_t num_md,
|
456
|
+
grpc_process_auth_metadata_done_cb cb, void* user_data);
|
457
|
+
void (*destroy)(void* state);
|
458
|
+
void* state;
|
387
459
|
} grpc_auth_metadata_processor;
|
388
460
|
|
389
461
|
GRPCAPI void grpc_server_credentials_set_auth_metadata_processor(
|
390
|
-
grpc_server_credentials
|
462
|
+
grpc_server_credentials* creds, grpc_auth_metadata_processor processor);
|
391
463
|
|
392
464
|
#ifdef __cplusplus
|
393
465
|
}
|