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
@@ -241,6 +241,29 @@
|
|
241
241
|
#else /* _LP64 */
|
242
242
|
#define GPR_ARCH_32 1
|
243
243
|
#endif /* _LP64 */
|
244
|
+
#elif defined(__OpenBSD__)
|
245
|
+
#define GPR_PLATFORM_STRING "openbsd"
|
246
|
+
#ifndef _BSD_SOURCE
|
247
|
+
#define _BSD_SOURCE
|
248
|
+
#endif
|
249
|
+
#define GPR_OPENBSD 1
|
250
|
+
#define GPR_CPU_POSIX 1
|
251
|
+
#define GPR_GCC_ATOMIC 1
|
252
|
+
#define GPR_GCC_TLS 1
|
253
|
+
#define GPR_POSIX_LOG 1
|
254
|
+
#define GPR_POSIX_ENV 1
|
255
|
+
#define GPR_POSIX_TMPFILE 1
|
256
|
+
#define GPR_POSIX_STRING 1
|
257
|
+
#define GPR_POSIX_SUBPROCESS 1
|
258
|
+
#define GPR_POSIX_SYNC 1
|
259
|
+
#define GPR_POSIX_TIME 1
|
260
|
+
#define GPR_GETPID_IN_UNISTD_H 1
|
261
|
+
#define GPR_SUPPORT_CHANNELS_FROM_FD 1
|
262
|
+
#ifdef _LP64
|
263
|
+
#define GPR_ARCH_64 1
|
264
|
+
#else /* _LP64 */
|
265
|
+
#define GPR_ARCH_32 1
|
266
|
+
#endif /* _LP64 */
|
244
267
|
#elif defined(__native_client__)
|
245
268
|
#define GPR_PLATFORM_STRING "nacl"
|
246
269
|
#ifndef _BSD_SOURCE
|
@@ -274,6 +297,27 @@
|
|
274
297
|
#endif
|
275
298
|
#endif /* GPR_NO_AUTODETECT_PLATFORM */
|
276
299
|
|
300
|
+
/*
|
301
|
+
* There are platforms for which TLS should not be used even though the
|
302
|
+
* compiler makes it seem like it's supported (Android NDK < r12b for example).
|
303
|
+
* This is primarily because of linker problems and toolchain misconfiguration:
|
304
|
+
* TLS isn't supported until NDK r12b per
|
305
|
+
* https://developer.android.com/ndk/downloads/revision_history.html
|
306
|
+
* Since NDK r16, `__NDK_MAJOR__` and `__NDK_MINOR__` are defined in
|
307
|
+
* <android/ndk-version.h>. For NDK < r16, users should define these macros,
|
308
|
+
* e.g. `-D__NDK_MAJOR__=11 -D__NKD_MINOR__=0` for NDK r11. */
|
309
|
+
#if defined(__ANDROID__) && defined(__clang__) && defined(GPR_GCC_TLS)
|
310
|
+
#if __has_include(<android/ndk-version.h>)
|
311
|
+
#include <android/ndk-version.h>
|
312
|
+
#endif /* __has_include(<android/ndk-version.h>) */
|
313
|
+
#if defined(__ANDROID__) && defined(__clang__) && defined(__NDK_MAJOR__) && \
|
314
|
+
defined(__NDK_MINOR__) && \
|
315
|
+
((__NDK_MAJOR__ < 12) || ((__NDK_MAJOR__ == 12) && (__NDK_MINOR__ < 1)))
|
316
|
+
#undef GPR_GCC_TLS
|
317
|
+
#define GPR_PTHREAD_TLS 1
|
318
|
+
#endif
|
319
|
+
#endif /*defined(__ANDROID__) && defined(__clang__) && defined(GPR_GCC_TLS) */
|
320
|
+
|
277
321
|
#if defined(__has_include)
|
278
322
|
#if __has_include(<atomic>)
|
279
323
|
#define GRPC_HAS_CXX11_ATOMIC
|
@@ -415,4 +459,8 @@ typedef unsigned __int64 uint64_t;
|
|
415
459
|
#endif /* GPR_ATTRIBUTE_NO_TSAN (2) */
|
416
460
|
#endif /* GPR_ATTRIBUTE_NO_TSAN (1) */
|
417
461
|
|
462
|
+
#ifndef __STDC_FORMAT_MACROS
|
463
|
+
#define __STDC_FORMAT_MACROS
|
464
|
+
#endif
|
465
|
+
|
418
466
|
#endif /* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */
|
@@ -42,8 +42,8 @@ typedef struct grpc_slice grpc_slice;
|
|
42
42
|
constraints (is the callee allowed to modify the slice?) */
|
43
43
|
|
44
44
|
typedef struct grpc_slice_refcount_vtable {
|
45
|
-
void (*ref)(void
|
46
|
-
void (*unref)(grpc_exec_ctx
|
45
|
+
void (*ref)(void*);
|
46
|
+
void (*unref)(grpc_exec_ctx* exec_ctx, void*);
|
47
47
|
int (*eq)(grpc_slice a, grpc_slice b);
|
48
48
|
uint32_t (*hash)(grpc_slice slice);
|
49
49
|
} grpc_slice_refcount_vtable;
|
@@ -54,20 +54,20 @@ typedef struct grpc_slice_refcount_vtable {
|
|
54
54
|
Typically client code should not touch this, and use grpc_slice_malloc,
|
55
55
|
grpc_slice_new, or grpc_slice_new_with_len instead. */
|
56
56
|
typedef struct grpc_slice_refcount {
|
57
|
-
const grpc_slice_refcount_vtable
|
57
|
+
const grpc_slice_refcount_vtable* vtable;
|
58
58
|
/** If a subset of this slice is taken, use this pointer for the refcount.
|
59
59
|
Typically points back to the refcount itself, however iterning
|
60
60
|
implementations can use this to avoid a verification step on each hash
|
61
61
|
or equality check */
|
62
|
-
struct grpc_slice_refcount
|
62
|
+
struct grpc_slice_refcount* sub_refcount;
|
63
63
|
} grpc_slice_refcount;
|
64
64
|
|
65
65
|
/* Inlined half of grpc_slice is allowed to expand the size of the overall type
|
66
66
|
by this many bytes */
|
67
|
-
#define GRPC_SLICE_INLINE_EXTRA_SIZE sizeof(void
|
67
|
+
#define GRPC_SLICE_INLINE_EXTRA_SIZE sizeof(void*)
|
68
68
|
|
69
69
|
#define GRPC_SLICE_INLINED_SIZE \
|
70
|
-
(sizeof(size_t) + sizeof(uint8_t
|
70
|
+
(sizeof(size_t) + sizeof(uint8_t*) - 1 + GRPC_SLICE_INLINE_EXTRA_SIZE)
|
71
71
|
|
72
72
|
/** A grpc_slice s, if initialized, represents the byte range
|
73
73
|
s.bytes[0..s.length-1].
|
@@ -79,10 +79,10 @@ typedef struct grpc_slice_refcount {
|
|
79
79
|
If the slice does not have a refcount, it represents an inlined small piece
|
80
80
|
of data that is copied by value. */
|
81
81
|
struct grpc_slice {
|
82
|
-
struct grpc_slice_refcount
|
82
|
+
struct grpc_slice_refcount* refcount;
|
83
83
|
union grpc_slice_data {
|
84
84
|
struct grpc_slice_refcounted {
|
85
|
-
uint8_t
|
85
|
+
uint8_t* bytes;
|
86
86
|
size_t length;
|
87
87
|
} refcounted;
|
88
88
|
struct grpc_slice_inlined {
|
@@ -99,10 +99,10 @@ struct grpc_slice {
|
|
99
99
|
typedef struct {
|
100
100
|
/** This is for internal use only. External users (i.e any code outside grpc
|
101
101
|
* core) MUST NOT use this field */
|
102
|
-
grpc_slice
|
102
|
+
grpc_slice* base_slices;
|
103
103
|
|
104
104
|
/** slices in the array (Points to the first valid grpc_slice in the array) */
|
105
|
-
grpc_slice
|
105
|
+
grpc_slice* slices;
|
106
106
|
/** the number of slices in the array */
|
107
107
|
size_t count;
|
108
108
|
/** the number of slices allocated in the array. External users (i.e any code
|
@@ -23,16 +23,22 @@
|
|
23
23
|
#include <grpc/impl/codegen/atm.h>
|
24
24
|
|
25
25
|
/* gpr_event */
|
26
|
-
typedef struct {
|
26
|
+
typedef struct {
|
27
|
+
gpr_atm state;
|
28
|
+
} gpr_event;
|
27
29
|
|
28
30
|
#define GPR_EVENT_INIT \
|
29
31
|
{ 0 }
|
30
32
|
|
31
33
|
/* gpr_refcount */
|
32
|
-
typedef struct {
|
34
|
+
typedef struct {
|
35
|
+
gpr_atm count;
|
36
|
+
} gpr_refcount;
|
33
37
|
|
34
38
|
/* gpr_stats_counter */
|
35
|
-
typedef struct {
|
39
|
+
typedef struct {
|
40
|
+
gpr_atm value;
|
41
|
+
} gpr_stats_counter;
|
36
42
|
|
37
43
|
#define GPR_STATS_INIT \
|
38
44
|
{ 0 }
|
data/include/grpc/slice.h
CHANGED
@@ -44,20 +44,20 @@ GPRAPI grpc_slice grpc_slice_copy(grpc_slice s);
|
|
44
44
|
/** Create a slice pointing at some data. Calls malloc to allocate a refcount
|
45
45
|
for the object, and arranges that destroy will be called with the pointer
|
46
46
|
passed in at destruction. */
|
47
|
-
GPRAPI grpc_slice grpc_slice_new(void
|
47
|
+
GPRAPI grpc_slice grpc_slice_new(void* p, size_t len, void (*destroy)(void*));
|
48
48
|
|
49
49
|
/** Equivalent to grpc_slice_new, but with a separate pointer that is
|
50
50
|
passed to the destroy function. This function can be useful when
|
51
51
|
the data is part of a larger structure that must be destroyed when
|
52
52
|
the data is no longer needed. */
|
53
|
-
GPRAPI grpc_slice grpc_slice_new_with_user_data(void
|
54
|
-
void (*destroy)(void
|
55
|
-
void
|
53
|
+
GPRAPI grpc_slice grpc_slice_new_with_user_data(void* p, size_t len,
|
54
|
+
void (*destroy)(void*),
|
55
|
+
void* user_data);
|
56
56
|
|
57
57
|
/** Equivalent to grpc_slice_new, but with a two argument destroy function that
|
58
58
|
also takes the slice length. */
|
59
|
-
GPRAPI grpc_slice grpc_slice_new_with_len(void
|
60
|
-
void (*destroy)(void
|
59
|
+
GPRAPI grpc_slice grpc_slice_new_with_len(void* p, size_t len,
|
60
|
+
void (*destroy)(void*, size_t));
|
61
61
|
|
62
62
|
/** Equivalent to grpc_slice_new(malloc(len), len, free), but saves one malloc()
|
63
63
|
call.
|
@@ -79,19 +79,19 @@ GPRAPI grpc_slice grpc_slice_intern(grpc_slice slice);
|
|
79
79
|
size_t len = strlen(source);
|
80
80
|
grpc_slice slice = grpc_slice_malloc(len);
|
81
81
|
memcpy(slice->data, source, len); */
|
82
|
-
GPRAPI grpc_slice grpc_slice_from_copied_string(const char
|
82
|
+
GPRAPI grpc_slice grpc_slice_from_copied_string(const char* source);
|
83
83
|
|
84
84
|
/** Create a slice by copying a buffer.
|
85
85
|
Equivalent to:
|
86
86
|
grpc_slice slice = grpc_slice_malloc(len);
|
87
87
|
memcpy(slice->data, source, len); */
|
88
|
-
GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char
|
88
|
+
GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char* source, size_t len);
|
89
89
|
|
90
90
|
/** Create a slice pointing to constant memory */
|
91
|
-
GPRAPI grpc_slice grpc_slice_from_static_string(const char
|
91
|
+
GPRAPI grpc_slice grpc_slice_from_static_string(const char* source);
|
92
92
|
|
93
93
|
/** Create a slice pointing to constant memory */
|
94
|
-
GPRAPI grpc_slice grpc_slice_from_static_buffer(const void
|
94
|
+
GPRAPI grpc_slice grpc_slice_from_static_buffer(const void* source, size_t len);
|
95
95
|
|
96
96
|
/** Return a result slice derived from s, which shares a ref count with \a s,
|
97
97
|
where result.data==s.data+begin, and result.length==end-begin. The ref count
|
@@ -106,7 +106,7 @@ GPRAPI grpc_slice grpc_slice_sub_no_ref(grpc_slice s, size_t begin, size_t end);
|
|
106
106
|
/** Splits s into two: modifies s to be s[0:split], and returns a new slice,
|
107
107
|
sharing a refcount with s, that contains s[split:s.length].
|
108
108
|
Requires s intialized, split <= s.length */
|
109
|
-
GPRAPI grpc_slice grpc_slice_split_tail(grpc_slice
|
109
|
+
GPRAPI grpc_slice grpc_slice_split_tail(grpc_slice* s, size_t split);
|
110
110
|
|
111
111
|
typedef enum {
|
112
112
|
GRPC_SLICE_REF_TAIL = 1,
|
@@ -117,13 +117,13 @@ typedef enum {
|
|
117
117
|
/** The same as grpc_slice_split_tail, but with an option to skip altering
|
118
118
|
* refcounts (grpc_slice_split_tail_maybe_ref(..., true) is equivalent to
|
119
119
|
* grpc_slice_split_tail(...)) */
|
120
|
-
GPRAPI grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice
|
120
|
+
GPRAPI grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice* s, size_t split,
|
121
121
|
grpc_slice_ref_whom ref_whom);
|
122
122
|
|
123
123
|
/** Splits s into two: modifies s to be s[split:s.length], and returns a new
|
124
124
|
slice, sharing a refcount with s, that contains s[0:split].
|
125
125
|
Requires s intialized, split <= s.length */
|
126
|
-
GPRAPI grpc_slice grpc_slice_split_head(grpc_slice
|
126
|
+
GPRAPI grpc_slice grpc_slice_split_head(grpc_slice* s, size_t split);
|
127
127
|
|
128
128
|
GPRAPI grpc_slice grpc_empty_slice(void);
|
129
129
|
|
@@ -136,11 +136,10 @@ GPRAPI int grpc_slice_eq(grpc_slice a, grpc_slice b);
|
|
136
136
|
The order is arbitrary, and is not guaranteed to be stable across different
|
137
137
|
versions of the API. */
|
138
138
|
GPRAPI int grpc_slice_cmp(grpc_slice a, grpc_slice b);
|
139
|
-
GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char
|
140
|
-
GPRAPI int grpc_slice_buf_cmp(grpc_slice a, const void *b, size_t blen);
|
139
|
+
GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char* b);
|
141
140
|
|
142
141
|
/** return non-zero if the first blen bytes of a are equal to b */
|
143
|
-
GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void
|
142
|
+
GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void* b, size_t blen);
|
144
143
|
|
145
144
|
/** return the index of the last instance of \a c in \a s, or -1 if not found */
|
146
145
|
GPRAPI int grpc_slice_rchr(grpc_slice s, char c);
|
@@ -162,7 +161,7 @@ GPRAPI grpc_slice grpc_slice_dup(grpc_slice a);
|
|
162
161
|
|
163
162
|
/** Return a copy of slice as a C string. Offers no protection against embedded
|
164
163
|
NULL's. Returned string must be freed with gpr_free. */
|
165
|
-
GPRAPI char
|
164
|
+
GPRAPI char* grpc_slice_to_c_string(grpc_slice s);
|
166
165
|
|
167
166
|
#ifdef __cplusplus
|
168
167
|
}
|
data/include/grpc/slice_buffer.h
CHANGED
@@ -26,13 +26,13 @@ extern "C" {
|
|
26
26
|
#endif
|
27
27
|
|
28
28
|
/** initialize a slice buffer */
|
29
|
-
GPRAPI void grpc_slice_buffer_init(grpc_slice_buffer
|
29
|
+
GPRAPI void grpc_slice_buffer_init(grpc_slice_buffer* sb);
|
30
30
|
/** destroy a slice buffer - unrefs any held elements */
|
31
|
-
GPRAPI void grpc_slice_buffer_destroy(grpc_slice_buffer
|
31
|
+
GPRAPI void grpc_slice_buffer_destroy(grpc_slice_buffer* sb);
|
32
32
|
/** Add an element to a slice buffer - takes ownership of the slice.
|
33
33
|
This function is allowed to concatenate the passed in slice to the end of
|
34
34
|
some other slice if desired by the slice buffer. */
|
35
|
-
GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer
|
35
|
+
GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer* sb, grpc_slice slice);
|
36
36
|
/** add an element to a slice buffer - takes ownership of the slice and returns
|
37
37
|
the index of the slice.
|
38
38
|
Guarantees that the slice will not be concatenated at the end of another
|
@@ -40,40 +40,40 @@ GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice);
|
|
40
40
|
slice at the returned index in sb->slices)
|
41
41
|
The implementation MAY decide to concatenate data at the end of a small
|
42
42
|
slice added in this fashion. */
|
43
|
-
GPRAPI size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer
|
43
|
+
GPRAPI size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer* sb,
|
44
44
|
grpc_slice slice);
|
45
|
-
GPRAPI void grpc_slice_buffer_addn(grpc_slice_buffer
|
45
|
+
GPRAPI void grpc_slice_buffer_addn(grpc_slice_buffer* sb, grpc_slice* slices,
|
46
46
|
size_t n);
|
47
47
|
/** add a very small (less than 8 bytes) amount of data to the end of a slice
|
48
48
|
buffer: returns a pointer into which to add the data */
|
49
|
-
GPRAPI uint8_t
|
49
|
+
GPRAPI uint8_t* grpc_slice_buffer_tiny_add(grpc_slice_buffer* sb, size_t len);
|
50
50
|
/** pop the last buffer, but don't unref it */
|
51
|
-
GPRAPI void grpc_slice_buffer_pop(grpc_slice_buffer
|
51
|
+
GPRAPI void grpc_slice_buffer_pop(grpc_slice_buffer* sb);
|
52
52
|
/** clear a slice buffer, unref all elements */
|
53
|
-
GPRAPI void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer
|
53
|
+
GPRAPI void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer* sb);
|
54
54
|
/** swap the contents of two slice buffers */
|
55
|
-
GPRAPI void grpc_slice_buffer_swap(grpc_slice_buffer
|
55
|
+
GPRAPI void grpc_slice_buffer_swap(grpc_slice_buffer* a, grpc_slice_buffer* b);
|
56
56
|
/** move all of the elements of src into dst */
|
57
|
-
GPRAPI void grpc_slice_buffer_move_into(grpc_slice_buffer
|
58
|
-
grpc_slice_buffer
|
57
|
+
GPRAPI void grpc_slice_buffer_move_into(grpc_slice_buffer* src,
|
58
|
+
grpc_slice_buffer* dst);
|
59
59
|
/** remove n bytes from the end of a slice buffer */
|
60
|
-
GPRAPI void grpc_slice_buffer_trim_end(grpc_slice_buffer
|
61
|
-
grpc_slice_buffer
|
60
|
+
GPRAPI void grpc_slice_buffer_trim_end(grpc_slice_buffer* src, size_t n,
|
61
|
+
grpc_slice_buffer* garbage);
|
62
62
|
/** move the first n bytes of src into dst */
|
63
|
-
GPRAPI void grpc_slice_buffer_move_first(grpc_slice_buffer
|
64
|
-
grpc_slice_buffer
|
63
|
+
GPRAPI void grpc_slice_buffer_move_first(grpc_slice_buffer* src, size_t n,
|
64
|
+
grpc_slice_buffer* dst);
|
65
65
|
/** move the first n bytes of src into dst without adding references */
|
66
|
-
GPRAPI void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer
|
66
|
+
GPRAPI void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer* src,
|
67
67
|
size_t n,
|
68
|
-
grpc_slice_buffer
|
68
|
+
grpc_slice_buffer* dst);
|
69
69
|
/** move the first n bytes of src into dst (copying them) */
|
70
|
-
GPRAPI void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx
|
71
|
-
grpc_slice_buffer
|
72
|
-
size_t n, void
|
70
|
+
GPRAPI void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx* exec_ctx,
|
71
|
+
grpc_slice_buffer* src,
|
72
|
+
size_t n, void* dst);
|
73
73
|
/** take the first slice in the slice buffer */
|
74
|
-
GPRAPI grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer
|
74
|
+
GPRAPI grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer* src);
|
75
75
|
/** undo the above with (a possibly different) \a slice */
|
76
|
-
GPRAPI void grpc_slice_buffer_undo_take_first(grpc_slice_buffer
|
76
|
+
GPRAPI void grpc_slice_buffer_undo_take_first(grpc_slice_buffer* src,
|
77
77
|
grpc_slice slice);
|
78
78
|
|
79
79
|
#ifdef __cplusplus
|
@@ -28,10 +28,10 @@ extern "C" {
|
|
28
28
|
#endif
|
29
29
|
|
30
30
|
typedef struct gpr_allocation_functions {
|
31
|
-
void
|
32
|
-
void
|
33
|
-
void
|
34
|
-
void (*free_fn)(void
|
31
|
+
void* (*malloc_fn)(size_t size);
|
32
|
+
void* (*zalloc_fn)(size_t size); /** if NULL, uses malloc_fn then memset */
|
33
|
+
void* (*realloc_fn)(void* ptr, size_t size);
|
34
|
+
void (*free_fn)(void* ptr);
|
35
35
|
} gpr_allocation_functions;
|
36
36
|
|
37
37
|
/** malloc.
|
@@ -39,17 +39,17 @@ typedef struct gpr_allocation_functions {
|
|
39
39
|
* The pointer returned is suitably aligned for any kind of variable it could
|
40
40
|
* contain.
|
41
41
|
*/
|
42
|
-
GPRAPI void
|
42
|
+
GPRAPI void* gpr_malloc(size_t size);
|
43
43
|
/** like malloc, but zero all bytes before returning them */
|
44
|
-
GPRAPI void
|
44
|
+
GPRAPI void* gpr_zalloc(size_t size);
|
45
45
|
/** free */
|
46
|
-
GPRAPI void gpr_free(void
|
46
|
+
GPRAPI void gpr_free(void* ptr);
|
47
47
|
/** realloc, never returns NULL */
|
48
|
-
GPRAPI void
|
48
|
+
GPRAPI void* gpr_realloc(void* p, size_t size);
|
49
49
|
/** aligned malloc, never returns NULL, will align to 1 << alignment_log */
|
50
|
-
GPRAPI void
|
50
|
+
GPRAPI void* gpr_malloc_aligned(size_t size, size_t alignment_log);
|
51
51
|
/** free memory allocated by gpr_malloc_aligned */
|
52
|
-
GPRAPI void gpr_free_aligned(void
|
52
|
+
GPRAPI void gpr_free_aligned(void* ptr);
|
53
53
|
|
54
54
|
/** Request the family of allocation functions in \a functions be used. NOTE
|
55
55
|
* that this request will be honored in a *best effort* basis and that no
|
@@ -58,7 +58,7 @@ GPRAPI void gpr_free_aligned(void *ptr);
|
|
58
58
|
GPRAPI void gpr_set_allocation_functions(gpr_allocation_functions functions);
|
59
59
|
|
60
60
|
/** Return the family of allocation functions currently in effect. */
|
61
|
-
GPRAPI gpr_allocation_functions gpr_get_allocation_functions();
|
61
|
+
GPRAPI gpr_allocation_functions gpr_get_allocation_functions(void);
|
62
62
|
|
63
63
|
#ifdef __cplusplus
|
64
64
|
}
|
data/include/grpc/support/avl.h
CHANGED
@@ -21,13 +21,17 @@
|
|
21
21
|
|
22
22
|
#include <grpc/support/sync.h>
|
23
23
|
|
24
|
+
#ifdef __cplusplus
|
25
|
+
extern "C" {
|
26
|
+
#endif
|
27
|
+
|
24
28
|
/** internal node of an AVL tree */
|
25
29
|
typedef struct gpr_avl_node {
|
26
30
|
gpr_refcount refs;
|
27
|
-
void
|
28
|
-
void
|
29
|
-
struct gpr_avl_node
|
30
|
-
struct gpr_avl_node
|
31
|
+
void* key;
|
32
|
+
void* value;
|
33
|
+
struct gpr_avl_node* left;
|
34
|
+
struct gpr_avl_node* right;
|
31
35
|
long height;
|
32
36
|
} gpr_avl_node;
|
33
37
|
|
@@ -38,57 +42,61 @@ typedef struct gpr_avl_node {
|
|
38
42
|
*/
|
39
43
|
typedef struct gpr_avl_vtable {
|
40
44
|
/** destroy a key */
|
41
|
-
void (*destroy_key)(void
|
45
|
+
void (*destroy_key)(void* key, void* user_data);
|
42
46
|
/** copy a key, returning new value */
|
43
|
-
void
|
47
|
+
void* (*copy_key)(void* key, void* user_data);
|
44
48
|
/** compare key1, key2; return <0 if key1 < key2,
|
45
49
|
>0 if key1 > key2, 0 if key1 == key2 */
|
46
|
-
long (*compare_keys)(void
|
50
|
+
long (*compare_keys)(void* key1, void* key2, void* user_data);
|
47
51
|
/** destroy a value */
|
48
|
-
void (*destroy_value)(void
|
52
|
+
void (*destroy_value)(void* value, void* user_data);
|
49
53
|
/** copy a value */
|
50
|
-
void
|
54
|
+
void* (*copy_value)(void* value, void* user_data);
|
51
55
|
} gpr_avl_vtable;
|
52
56
|
|
53
57
|
/** "pointer" to an AVL tree - this is a reference
|
54
58
|
counted object - use gpr_avl_ref to add a reference,
|
55
59
|
gpr_avl_unref when done with a reference */
|
56
60
|
typedef struct gpr_avl {
|
57
|
-
const gpr_avl_vtable
|
58
|
-
gpr_avl_node
|
61
|
+
const gpr_avl_vtable* vtable;
|
62
|
+
gpr_avl_node* root;
|
59
63
|
} gpr_avl;
|
60
64
|
|
61
65
|
/** Create an immutable AVL tree. */
|
62
|
-
GPRAPI gpr_avl gpr_avl_create(const gpr_avl_vtable
|
66
|
+
GPRAPI gpr_avl gpr_avl_create(const gpr_avl_vtable* vtable);
|
63
67
|
/** Add a reference to an existing tree - returns
|
64
68
|
the tree as a convenience. The optional user_data will be passed to vtable
|
65
69
|
functions. */
|
66
|
-
GPRAPI gpr_avl gpr_avl_ref(gpr_avl avl, void
|
70
|
+
GPRAPI gpr_avl gpr_avl_ref(gpr_avl avl, void* user_data);
|
67
71
|
/** Remove a reference to a tree - destroying it if there
|
68
72
|
are no references left. The optional user_data will be passed to vtable
|
69
73
|
functions. */
|
70
|
-
GPRAPI void gpr_avl_unref(gpr_avl avl, void
|
74
|
+
GPRAPI void gpr_avl_unref(gpr_avl avl, void* user_data);
|
71
75
|
/** Return a new tree with (key, value) added to avl.
|
72
76
|
implicitly unrefs avl to allow easy chaining.
|
73
77
|
if key exists in avl, the new tree's key entry updated
|
74
78
|
(i.e. a duplicate is not created). The optional user_data will be passed to
|
75
79
|
vtable functions. */
|
76
|
-
GPRAPI gpr_avl gpr_avl_add(gpr_avl avl, void
|
77
|
-
void
|
80
|
+
GPRAPI gpr_avl gpr_avl_add(gpr_avl avl, void* key, void* value,
|
81
|
+
void* user_data);
|
78
82
|
/** Return a new tree with key deleted
|
79
83
|
implicitly unrefs avl to allow easy chaining. The optional user_data will be
|
80
84
|
passed to vtable functions. */
|
81
|
-
GPRAPI gpr_avl gpr_avl_remove(gpr_avl avl, void
|
85
|
+
GPRAPI gpr_avl gpr_avl_remove(gpr_avl avl, void* key, void* user_data);
|
82
86
|
/** Lookup key, and return the associated value.
|
83
87
|
Does not mutate avl.
|
84
88
|
Returns NULL if key is not found. The optional user_data will be passed to
|
85
89
|
vtable functions.*/
|
86
|
-
GPRAPI void
|
90
|
+
GPRAPI void* gpr_avl_get(gpr_avl avl, void* key, void* user_data);
|
87
91
|
/** Return 1 if avl contains key, 0 otherwise; if it has the key, sets *value to
|
88
92
|
its value. THe optional user_data will be passed to vtable functions. */
|
89
|
-
GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void
|
90
|
-
void
|
93
|
+
GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void* key, void** value,
|
94
|
+
void* user_data);
|
91
95
|
/** Return 1 if avl is empty, 0 otherwise */
|
92
96
|
GPRAPI int gpr_avl_is_empty(gpr_avl avl);
|
93
97
|
|
98
|
+
#ifdef __cplusplus
|
99
|
+
}
|
100
|
+
#endif
|
101
|
+
|
94
102
|
#endif /* GRPC_SUPPORT_AVL_H */
|