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
@@ -21,12 +21,20 @@
|
|
21
21
|
|
22
22
|
#include "src/core/lib/iomgr/endpoint.h"
|
23
23
|
|
24
|
+
#ifdef __cplusplus
|
25
|
+
extern "C" {
|
26
|
+
#endif
|
27
|
+
|
24
28
|
typedef struct {
|
25
|
-
grpc_endpoint
|
26
|
-
grpc_endpoint
|
29
|
+
grpc_endpoint* client;
|
30
|
+
grpc_endpoint* server;
|
27
31
|
} grpc_endpoint_pair;
|
28
32
|
|
29
|
-
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char
|
30
|
-
grpc_channel_args
|
33
|
+
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name,
|
34
|
+
grpc_channel_args* args);
|
35
|
+
|
36
|
+
#ifdef __cplusplus
|
37
|
+
}
|
38
|
+
#endif
|
31
39
|
|
32
40
|
#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */
|
@@ -47,11 +47,11 @@ static void create_sockets(int sv[2]) {
|
|
47
47
|
GPR_ASSERT(grpc_set_socket_no_sigpipe_if_possible(sv[1]) == GRPC_ERROR_NONE);
|
48
48
|
}
|
49
49
|
|
50
|
-
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char
|
51
|
-
grpc_channel_args
|
50
|
+
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name,
|
51
|
+
grpc_channel_args* args) {
|
52
52
|
int sv[2];
|
53
53
|
grpc_endpoint_pair p;
|
54
|
-
char
|
54
|
+
char* final_name;
|
55
55
|
create_sockets(sv);
|
56
56
|
|
57
57
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
@@ -26,8 +26,8 @@
|
|
26
26
|
|
27
27
|
#include "src/core/lib/iomgr/endpoint_pair.h"
|
28
28
|
|
29
|
-
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char
|
30
|
-
grpc_channel_args
|
29
|
+
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name,
|
30
|
+
grpc_channel_args* args) {
|
31
31
|
grpc_endpoint_pair endpoint_pair;
|
32
32
|
// TODO(mlumish): implement this properly under libuv
|
33
33
|
GPR_ASSERT(false &&
|
@@ -44,19 +44,19 @@ static void create_sockets(SOCKET sv[2]) {
|
|
44
44
|
memset(&addr, 0, sizeof(addr));
|
45
45
|
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
46
46
|
addr.sin_family = AF_INET;
|
47
|
-
GPR_ASSERT(bind(lst_sock, (struct sockaddr
|
47
|
+
GPR_ASSERT(bind(lst_sock, (struct sockaddr*)&addr, sizeof(addr)) !=
|
48
48
|
SOCKET_ERROR);
|
49
49
|
GPR_ASSERT(listen(lst_sock, SOMAXCONN) != SOCKET_ERROR);
|
50
|
-
GPR_ASSERT(getsockname(lst_sock, (struct sockaddr
|
50
|
+
GPR_ASSERT(getsockname(lst_sock, (struct sockaddr*)&addr, &addr_len) !=
|
51
51
|
SOCKET_ERROR);
|
52
52
|
|
53
53
|
cli_sock = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0,
|
54
54
|
WSA_FLAG_OVERLAPPED);
|
55
55
|
GPR_ASSERT(cli_sock != INVALID_SOCKET);
|
56
56
|
|
57
|
-
GPR_ASSERT(WSAConnect(cli_sock, (struct sockaddr
|
58
|
-
NULL, NULL
|
59
|
-
svr_sock = accept(lst_sock, (struct sockaddr
|
57
|
+
GPR_ASSERT(WSAConnect(cli_sock, (struct sockaddr*)&addr, addr_len, NULL, NULL,
|
58
|
+
NULL, NULL) == 0);
|
59
|
+
svr_sock = accept(lst_sock, (struct sockaddr*)&addr, &addr_len);
|
60
60
|
GPR_ASSERT(svr_sock != INVALID_SOCKET);
|
61
61
|
|
62
62
|
closesocket(lst_sock);
|
@@ -68,7 +68,7 @@ static void create_sockets(SOCKET sv[2]) {
|
|
68
68
|
}
|
69
69
|
|
70
70
|
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
|
71
|
-
const char
|
71
|
+
const char* name, grpc_channel_args* channel_args) {
|
72
72
|
SOCKET sv[2];
|
73
73
|
grpc_endpoint_pair p;
|
74
74
|
create_sockets(sv);
|
@@ -15,9 +15,11 @@
|
|
15
15
|
* limitations under the License.
|
16
16
|
*
|
17
17
|
*/
|
18
|
+
#include <grpc/support/port_platform.h>
|
18
19
|
|
19
20
|
#include "src/core/lib/iomgr/error.h"
|
20
21
|
|
22
|
+
#include <inttypes.h>
|
21
23
|
#include <string.h>
|
22
24
|
|
23
25
|
#include <grpc/status.h>
|
@@ -35,12 +37,11 @@
|
|
35
37
|
#include "src/core/lib/profiling/timers.h"
|
36
38
|
#include "src/core/lib/slice/slice_internal.h"
|
37
39
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
#endif
|
40
|
+
grpc_core::DebugOnlyTraceFlag grpc_trace_error_refcount(false,
|
41
|
+
"error_refcount");
|
42
|
+
grpc_core::DebugOnlyTraceFlag grpc_trace_closure(false, "closure");
|
42
43
|
|
43
|
-
static const char
|
44
|
+
static const char* error_int_name(grpc_error_ints key) {
|
44
45
|
switch (key) {
|
45
46
|
case GRPC_ERROR_INT_ERRNO:
|
46
47
|
return "errno";
|
@@ -78,7 +79,7 @@ static const char *error_int_name(grpc_error_ints key) {
|
|
78
79
|
GPR_UNREACHABLE_CODE(return "unknown");
|
79
80
|
}
|
80
81
|
|
81
|
-
static const char
|
82
|
+
static const char* error_str_name(grpc_error_strs key) {
|
82
83
|
switch (key) {
|
83
84
|
case GRPC_ERROR_STR_KEY:
|
84
85
|
return "key";
|
@@ -110,7 +111,7 @@ static const char *error_str_name(grpc_error_strs key) {
|
|
110
111
|
GPR_UNREACHABLE_CODE(return "unknown");
|
111
112
|
}
|
112
113
|
|
113
|
-
static const char
|
114
|
+
static const char* error_time_name(grpc_error_times key) {
|
114
115
|
switch (key) {
|
115
116
|
case GRPC_ERROR_TIME_CREATED:
|
116
117
|
return "created";
|
@@ -120,15 +121,15 @@ static const char *error_time_name(grpc_error_times key) {
|
|
120
121
|
GPR_UNREACHABLE_CODE(return "unknown");
|
121
122
|
}
|
122
123
|
|
123
|
-
bool grpc_error_is_special(grpc_error
|
124
|
+
bool grpc_error_is_special(grpc_error* err) {
|
124
125
|
return err == GRPC_ERROR_NONE || err == GRPC_ERROR_OOM ||
|
125
126
|
err == GRPC_ERROR_CANCELLED;
|
126
127
|
}
|
127
128
|
|
128
129
|
#ifndef NDEBUG
|
129
|
-
grpc_error
|
130
|
+
grpc_error* grpc_error_ref(grpc_error* err, const char* file, int line) {
|
130
131
|
if (grpc_error_is_special(err)) return err;
|
131
|
-
if (
|
132
|
+
if (grpc_trace_error_refcount.enabled()) {
|
132
133
|
gpr_log(GPR_DEBUG, "%p: %" PRIdPTR " -> %" PRIdPTR " [%s:%d]", err,
|
133
134
|
gpr_atm_no_barrier_load(&err->atomics.refs.count),
|
134
135
|
gpr_atm_no_barrier_load(&err->atomics.refs.count) + 1, file, line);
|
@@ -137,17 +138,17 @@ grpc_error *grpc_error_ref(grpc_error *err, const char *file, int line) {
|
|
137
138
|
return err;
|
138
139
|
}
|
139
140
|
#else
|
140
|
-
grpc_error
|
141
|
+
grpc_error* grpc_error_ref(grpc_error* err) {
|
141
142
|
if (grpc_error_is_special(err)) return err;
|
142
143
|
gpr_ref(&err->atomics.refs);
|
143
144
|
return err;
|
144
145
|
}
|
145
146
|
#endif
|
146
147
|
|
147
|
-
static void unref_errs(grpc_error
|
148
|
+
static void unref_errs(grpc_error* err) {
|
148
149
|
uint8_t slot = err->first_err;
|
149
150
|
while (slot != UINT8_MAX) {
|
150
|
-
grpc_linked_error
|
151
|
+
grpc_linked_error* lerr = (grpc_linked_error*)(err->arena + slot);
|
151
152
|
GRPC_ERROR_UNREF(lerr->err);
|
152
153
|
GPR_ASSERT(err->last_err == slot ? lerr->next == UINT8_MAX
|
153
154
|
: lerr->next != UINT8_MAX);
|
@@ -161,27 +162,27 @@ static void unref_slice(grpc_slice slice) {
|
|
161
162
|
grpc_exec_ctx_finish(&exec_ctx);
|
162
163
|
}
|
163
164
|
|
164
|
-
static void unref_strs(grpc_error
|
165
|
+
static void unref_strs(grpc_error* err) {
|
165
166
|
for (size_t which = 0; which < GRPC_ERROR_STR_MAX; ++which) {
|
166
167
|
uint8_t slot = err->strs[which];
|
167
168
|
if (slot != UINT8_MAX) {
|
168
|
-
unref_slice(*(grpc_slice
|
169
|
+
unref_slice(*(grpc_slice*)(err->arena + slot));
|
169
170
|
}
|
170
171
|
}
|
171
172
|
}
|
172
173
|
|
173
|
-
static void error_destroy(grpc_error
|
174
|
+
static void error_destroy(grpc_error* err) {
|
174
175
|
GPR_ASSERT(!grpc_error_is_special(err));
|
175
176
|
unref_errs(err);
|
176
177
|
unref_strs(err);
|
177
|
-
gpr_free((void
|
178
|
+
gpr_free((void*)gpr_atm_acq_load(&err->atomics.error_string));
|
178
179
|
gpr_free(err);
|
179
180
|
}
|
180
181
|
|
181
182
|
#ifndef NDEBUG
|
182
|
-
void grpc_error_unref(grpc_error
|
183
|
+
void grpc_error_unref(grpc_error* err, const char* file, int line) {
|
183
184
|
if (grpc_error_is_special(err)) return;
|
184
|
-
if (
|
185
|
+
if (grpc_trace_error_refcount.enabled()) {
|
185
186
|
gpr_log(GPR_DEBUG, "%p: %" PRIdPTR " -> %" PRIdPTR " [%s:%d]", err,
|
186
187
|
gpr_atm_no_barrier_load(&err->atomics.refs.count),
|
187
188
|
gpr_atm_no_barrier_load(&err->atomics.refs.count) - 1, file, line);
|
@@ -191,7 +192,7 @@ void grpc_error_unref(grpc_error *err, const char *file, int line) {
|
|
191
192
|
}
|
192
193
|
}
|
193
194
|
#else
|
194
|
-
void grpc_error_unref(grpc_error
|
195
|
+
void grpc_error_unref(grpc_error* err) {
|
195
196
|
if (grpc_error_is_special(err)) return;
|
196
197
|
if (gpr_unref(&err->atomics.refs)) {
|
197
198
|
error_destroy(err);
|
@@ -199,7 +200,7 @@ void grpc_error_unref(grpc_error *err) {
|
|
199
200
|
}
|
200
201
|
#endif
|
201
202
|
|
202
|
-
static uint8_t get_placement(grpc_error
|
203
|
+
static uint8_t get_placement(grpc_error** err, size_t size) {
|
203
204
|
GPR_ASSERT(*err);
|
204
205
|
uint8_t slots = (uint8_t)(size / sizeof(intptr_t));
|
205
206
|
if ((*err)->arena_size + slots > (*err)->arena_capacity) {
|
@@ -209,12 +210,12 @@ static uint8_t get_placement(grpc_error **err, size_t size) {
|
|
209
210
|
return UINT8_MAX;
|
210
211
|
}
|
211
212
|
#ifndef NDEBUG
|
212
|
-
grpc_error
|
213
|
+
grpc_error* orig = *err;
|
213
214
|
#endif
|
214
|
-
*err = (grpc_error
|
215
|
+
*err = (grpc_error*)gpr_realloc(
|
215
216
|
*err, sizeof(grpc_error) + (*err)->arena_capacity * sizeof(intptr_t));
|
216
217
|
#ifndef NDEBUG
|
217
|
-
if (
|
218
|
+
if (grpc_trace_error_refcount.enabled()) {
|
218
219
|
if (*err != orig) {
|
219
220
|
gpr_log(GPR_DEBUG, "realloc %p -> %p", orig, *err);
|
220
221
|
}
|
@@ -226,7 +227,7 @@ static uint8_t get_placement(grpc_error **err, size_t size) {
|
|
226
227
|
return placement;
|
227
228
|
}
|
228
229
|
|
229
|
-
static void internal_set_int(grpc_error
|
230
|
+
static void internal_set_int(grpc_error** err, grpc_error_ints which,
|
230
231
|
intptr_t value) {
|
231
232
|
uint8_t slot = (*err)->ints[which];
|
232
233
|
if (slot == UINT8_MAX) {
|
@@ -241,36 +242,36 @@ static void internal_set_int(grpc_error **err, grpc_error_ints which,
|
|
241
242
|
(*err)->arena[slot] = value;
|
242
243
|
}
|
243
244
|
|
244
|
-
static void internal_set_str(grpc_error
|
245
|
+
static void internal_set_str(grpc_error** err, grpc_error_strs which,
|
245
246
|
grpc_slice value) {
|
246
247
|
uint8_t slot = (*err)->strs[which];
|
247
248
|
if (slot == UINT8_MAX) {
|
248
249
|
slot = get_placement(err, sizeof(value));
|
249
250
|
if (slot == UINT8_MAX) {
|
250
|
-
const char
|
251
|
+
const char* str = grpc_slice_to_c_string(value);
|
251
252
|
gpr_log(GPR_ERROR, "Error %p is full, dropping string {\"%s\":\"%s\"}",
|
252
253
|
*err, error_str_name(which), str);
|
253
|
-
gpr_free((void
|
254
|
+
gpr_free((void*)str);
|
254
255
|
return;
|
255
256
|
}
|
256
257
|
} else {
|
257
|
-
unref_slice(*(grpc_slice
|
258
|
+
unref_slice(*(grpc_slice*)((*err)->arena + slot));
|
258
259
|
}
|
259
260
|
(*err)->strs[which] = slot;
|
260
261
|
memcpy((*err)->arena + slot, &value, sizeof(value));
|
261
262
|
}
|
262
263
|
|
263
|
-
static char
|
264
|
-
static void internal_set_time(grpc_error
|
264
|
+
static char* fmt_time(gpr_timespec tm);
|
265
|
+
static void internal_set_time(grpc_error** err, grpc_error_times which,
|
265
266
|
gpr_timespec value) {
|
266
267
|
uint8_t slot = (*err)->times[which];
|
267
268
|
if (slot == UINT8_MAX) {
|
268
269
|
slot = get_placement(err, sizeof(value));
|
269
270
|
if (slot == UINT8_MAX) {
|
270
|
-
const char
|
271
|
+
const char* time_str = fmt_time(value);
|
271
272
|
gpr_log(GPR_ERROR, "Error %p is full, dropping \"%s\":\"%s\"}", *err,
|
272
273
|
error_time_name(which), time_str);
|
273
|
-
gpr_free((void
|
274
|
+
gpr_free((void*)time_str);
|
274
275
|
return;
|
275
276
|
}
|
276
277
|
}
|
@@ -278,7 +279,7 @@ static void internal_set_time(grpc_error **err, grpc_error_times which,
|
|
278
279
|
memcpy((*err)->arena + slot, &value, sizeof(value));
|
279
280
|
}
|
280
281
|
|
281
|
-
static void internal_add_error(grpc_error
|
282
|
+
static void internal_add_error(grpc_error** err, grpc_error* new_err) {
|
282
283
|
grpc_linked_error new_last = {new_err, UINT8_MAX};
|
283
284
|
uint8_t slot = get_placement(err, sizeof(grpc_linked_error));
|
284
285
|
if (slot == UINT8_MAX) {
|
@@ -293,8 +294,8 @@ static void internal_add_error(grpc_error **err, grpc_error *new_err) {
|
|
293
294
|
(*err)->first_err = slot;
|
294
295
|
} else {
|
295
296
|
GPR_ASSERT((*err)->last_err != UINT8_MAX);
|
296
|
-
grpc_linked_error
|
297
|
-
(grpc_linked_error
|
297
|
+
grpc_linked_error* old_last =
|
298
|
+
(grpc_linked_error*)((*err)->arena + (*err)->last_err);
|
298
299
|
old_last->next = slot;
|
299
300
|
(*err)->last_err = slot;
|
300
301
|
}
|
@@ -314,20 +315,20 @@ static void internal_add_error(grpc_error **err, grpc_error *new_err) {
|
|
314
315
|
// It is very common to include and extra int and string in an error
|
315
316
|
#define SURPLUS_CAPACITY (2 * SLOTS_PER_INT + SLOTS_PER_TIME)
|
316
317
|
|
317
|
-
grpc_error
|
318
|
-
grpc_error
|
318
|
+
grpc_error* grpc_error_create(const char* file, int line, grpc_slice desc,
|
319
|
+
grpc_error** referencing,
|
319
320
|
size_t num_referencing) {
|
320
321
|
GPR_TIMER_BEGIN("grpc_error_create", 0);
|
321
322
|
uint8_t initial_arena_capacity = (uint8_t)(
|
322
323
|
DEFAULT_ERROR_CAPACITY +
|
323
324
|
(uint8_t)(num_referencing * SLOTS_PER_LINKED_ERROR) + SURPLUS_CAPACITY);
|
324
|
-
grpc_error
|
325
|
+
grpc_error* err = (grpc_error*)gpr_malloc(
|
325
326
|
sizeof(*err) + initial_arena_capacity * sizeof(intptr_t));
|
326
|
-
if (err ==
|
327
|
+
if (err == nullptr) { // TODO(ctiller): make gpr_malloc return NULL
|
327
328
|
return GRPC_ERROR_OOM;
|
328
329
|
}
|
329
330
|
#ifndef NDEBUG
|
330
|
-
if (
|
331
|
+
if (grpc_trace_error_refcount.enabled()) {
|
331
332
|
gpr_log(GPR_DEBUG, "%p create [%s:%d]", err, file, line);
|
332
333
|
}
|
333
334
|
#endif
|
@@ -362,27 +363,27 @@ grpc_error *grpc_error_create(const char *file, int line, grpc_slice desc,
|
|
362
363
|
return err;
|
363
364
|
}
|
364
365
|
|
365
|
-
static void ref_strs(grpc_error
|
366
|
+
static void ref_strs(grpc_error* err) {
|
366
367
|
for (size_t i = 0; i < GRPC_ERROR_STR_MAX; ++i) {
|
367
368
|
uint8_t slot = err->strs[i];
|
368
369
|
if (slot != UINT8_MAX) {
|
369
|
-
grpc_slice_ref_internal(*(grpc_slice
|
370
|
+
grpc_slice_ref_internal(*(grpc_slice*)(err->arena + slot));
|
370
371
|
}
|
371
372
|
}
|
372
373
|
}
|
373
374
|
|
374
|
-
static void ref_errs(grpc_error
|
375
|
+
static void ref_errs(grpc_error* err) {
|
375
376
|
uint8_t slot = err->first_err;
|
376
377
|
while (slot != UINT8_MAX) {
|
377
|
-
grpc_linked_error
|
378
|
+
grpc_linked_error* lerr = (grpc_linked_error*)(err->arena + slot);
|
378
379
|
GRPC_ERROR_REF(lerr->err);
|
379
380
|
slot = lerr->next;
|
380
381
|
}
|
381
382
|
}
|
382
383
|
|
383
|
-
static grpc_error
|
384
|
+
static grpc_error* copy_error_and_unref(grpc_error* in) {
|
384
385
|
GPR_TIMER_BEGIN("copy_error_and_unref", 0);
|
385
|
-
grpc_error
|
386
|
+
grpc_error* out;
|
386
387
|
if (grpc_error_is_special(in)) {
|
387
388
|
out = GRPC_ERROR_CREATE_FROM_STATIC_STRING("unknown");
|
388
389
|
if (in == GRPC_ERROR_NONE) {
|
@@ -406,16 +407,16 @@ static grpc_error *copy_error_and_unref(grpc_error *in) {
|
|
406
407
|
if (in->arena_capacity - in->arena_size < (uint8_t)SLOTS_PER_STR) {
|
407
408
|
new_arena_capacity = (uint8_t)(3 * new_arena_capacity / 2);
|
408
409
|
}
|
409
|
-
out = (grpc_error
|
410
|
-
|
410
|
+
out = (grpc_error*)gpr_malloc(sizeof(*in) +
|
411
|
+
new_arena_capacity * sizeof(intptr_t));
|
411
412
|
#ifndef NDEBUG
|
412
|
-
if (
|
413
|
+
if (grpc_trace_error_refcount.enabled()) {
|
413
414
|
gpr_log(GPR_DEBUG, "%p create copying %p", out, in);
|
414
415
|
}
|
415
416
|
#endif
|
416
417
|
// bulk memcpy of the rest of the struct.
|
417
418
|
size_t skip = sizeof(&out->atomics);
|
418
|
-
memcpy((void
|
419
|
+
memcpy((void*)((uintptr_t)out + skip), (void*)((uintptr_t)in + skip),
|
419
420
|
sizeof(*in) + (in->arena_size * sizeof(intptr_t)) - skip);
|
420
421
|
// manually set the atomics and the new capacity
|
421
422
|
gpr_atm_no_barrier_store(&out->atomics.error_string, 0);
|
@@ -429,19 +430,19 @@ static grpc_error *copy_error_and_unref(grpc_error *in) {
|
|
429
430
|
return out;
|
430
431
|
}
|
431
432
|
|
432
|
-
grpc_error
|
433
|
+
grpc_error* grpc_error_set_int(grpc_error* src, grpc_error_ints which,
|
433
434
|
intptr_t value) {
|
434
435
|
GPR_TIMER_BEGIN("grpc_error_set_int", 0);
|
435
|
-
grpc_error
|
436
|
+
grpc_error* new_err = copy_error_and_unref(src);
|
436
437
|
internal_set_int(&new_err, which, value);
|
437
438
|
GPR_TIMER_END("grpc_error_set_int", 0);
|
438
439
|
return new_err;
|
439
440
|
}
|
440
441
|
|
441
442
|
typedef struct {
|
442
|
-
grpc_error
|
443
|
+
grpc_error* error;
|
443
444
|
grpc_status_code code;
|
444
|
-
const char
|
445
|
+
const char* msg;
|
445
446
|
} special_error_status_map;
|
446
447
|
static special_error_status_map error_status_map[] = {
|
447
448
|
{GRPC_ERROR_NONE, GRPC_STATUS_OK, ""},
|
@@ -449,13 +450,13 @@ static special_error_status_map error_status_map[] = {
|
|
449
450
|
{GRPC_ERROR_OOM, GRPC_STATUS_RESOURCE_EXHAUSTED, "Out of memory"},
|
450
451
|
};
|
451
452
|
|
452
|
-
bool grpc_error_get_int(grpc_error
|
453
|
+
bool grpc_error_get_int(grpc_error* err, grpc_error_ints which, intptr_t* p) {
|
453
454
|
GPR_TIMER_BEGIN("grpc_error_get_int", 0);
|
454
455
|
if (grpc_error_is_special(err)) {
|
455
456
|
if (which == GRPC_ERROR_INT_GRPC_STATUS) {
|
456
457
|
for (size_t i = 0; i < GPR_ARRAY_SIZE(error_status_map); i++) {
|
457
458
|
if (error_status_map[i].error == err) {
|
458
|
-
if (p !=
|
459
|
+
if (p != nullptr) *p = error_status_map[i].code;
|
459
460
|
GPR_TIMER_END("grpc_error_get_int", 0);
|
460
461
|
return true;
|
461
462
|
}
|
@@ -466,7 +467,7 @@ bool grpc_error_get_int(grpc_error *err, grpc_error_ints which, intptr_t *p) {
|
|
466
467
|
}
|
467
468
|
uint8_t slot = err->ints[which];
|
468
469
|
if (slot != UINT8_MAX) {
|
469
|
-
if (p !=
|
470
|
+
if (p != nullptr) *p = err->arena[slot];
|
470
471
|
GPR_TIMER_END("grpc_error_get_int", 0);
|
471
472
|
return true;
|
472
473
|
}
|
@@ -474,17 +475,17 @@ bool grpc_error_get_int(grpc_error *err, grpc_error_ints which, intptr_t *p) {
|
|
474
475
|
return false;
|
475
476
|
}
|
476
477
|
|
477
|
-
grpc_error
|
478
|
+
grpc_error* grpc_error_set_str(grpc_error* src, grpc_error_strs which,
|
478
479
|
grpc_slice str) {
|
479
480
|
GPR_TIMER_BEGIN("grpc_error_set_str", 0);
|
480
|
-
grpc_error
|
481
|
+
grpc_error* new_err = copy_error_and_unref(src);
|
481
482
|
internal_set_str(&new_err, which, str);
|
482
483
|
GPR_TIMER_END("grpc_error_set_str", 0);
|
483
484
|
return new_err;
|
484
485
|
}
|
485
486
|
|
486
|
-
bool grpc_error_get_str(grpc_error
|
487
|
-
grpc_slice
|
487
|
+
bool grpc_error_get_str(grpc_error* err, grpc_error_strs which,
|
488
|
+
grpc_slice* str) {
|
488
489
|
if (grpc_error_is_special(err)) {
|
489
490
|
if (which == GRPC_ERROR_STR_GRPC_MESSAGE) {
|
490
491
|
for (size_t i = 0; i < GPR_ARRAY_SIZE(error_status_map); i++) {
|
@@ -498,53 +499,53 @@ bool grpc_error_get_str(grpc_error *err, grpc_error_strs which,
|
|
498
499
|
}
|
499
500
|
uint8_t slot = err->strs[which];
|
500
501
|
if (slot != UINT8_MAX) {
|
501
|
-
*str = *(grpc_slice
|
502
|
+
*str = *(grpc_slice*)(err->arena + slot);
|
502
503
|
return true;
|
503
504
|
} else {
|
504
505
|
return false;
|
505
506
|
}
|
506
507
|
}
|
507
508
|
|
508
|
-
grpc_error
|
509
|
+
grpc_error* grpc_error_add_child(grpc_error* src, grpc_error* child) {
|
509
510
|
GPR_TIMER_BEGIN("grpc_error_add_child", 0);
|
510
|
-
grpc_error
|
511
|
+
grpc_error* new_err = copy_error_and_unref(src);
|
511
512
|
internal_add_error(&new_err, child);
|
512
513
|
GPR_TIMER_END("grpc_error_add_child", 0);
|
513
514
|
return new_err;
|
514
515
|
}
|
515
516
|
|
516
|
-
static const char
|
517
|
-
static const char
|
518
|
-
static const char
|
517
|
+
static const char* no_error_string = "\"No Error\"";
|
518
|
+
static const char* oom_error_string = "\"Out of memory\"";
|
519
|
+
static const char* cancelled_error_string = "\"Cancelled\"";
|
519
520
|
|
520
521
|
typedef struct {
|
521
|
-
char
|
522
|
-
char
|
522
|
+
char* key;
|
523
|
+
char* value;
|
523
524
|
} kv_pair;
|
524
525
|
|
525
526
|
typedef struct {
|
526
|
-
kv_pair
|
527
|
+
kv_pair* kvs;
|
527
528
|
size_t num_kvs;
|
528
529
|
size_t cap_kvs;
|
529
530
|
} kv_pairs;
|
530
531
|
|
531
|
-
static void append_chr(char c, char
|
532
|
+
static void append_chr(char c, char** s, size_t* sz, size_t* cap) {
|
532
533
|
if (*sz == *cap) {
|
533
534
|
*cap = GPR_MAX(8, 3 * *cap / 2);
|
534
|
-
*s = (char
|
535
|
+
*s = (char*)gpr_realloc(*s, *cap);
|
535
536
|
}
|
536
537
|
(*s)[(*sz)++] = c;
|
537
538
|
}
|
538
539
|
|
539
|
-
static void append_str(const char
|
540
|
-
for (const char
|
540
|
+
static void append_str(const char* str, char** s, size_t* sz, size_t* cap) {
|
541
|
+
for (const char* c = str; *c; c++) {
|
541
542
|
append_chr(*c, s, sz, cap);
|
542
543
|
}
|
543
544
|
}
|
544
545
|
|
545
|
-
static void append_esc_str(const uint8_t
|
546
|
-
size_t
|
547
|
-
static const char
|
546
|
+
static void append_esc_str(const uint8_t* str, size_t len, char** s, size_t* sz,
|
547
|
+
size_t* cap) {
|
548
|
+
static const char* hex = "0123456789abcdef";
|
548
549
|
append_chr('"', s, sz, cap);
|
549
550
|
for (size_t i = 0; i < len; i++, str++) {
|
550
551
|
if (*str < 32 || *str >= 127) {
|
@@ -580,28 +581,28 @@ static void append_esc_str(const uint8_t *str, size_t len, char **s, size_t *sz,
|
|
580
581
|
append_chr('"', s, sz, cap);
|
581
582
|
}
|
582
583
|
|
583
|
-
static void append_kv(kv_pairs
|
584
|
+
static void append_kv(kv_pairs* kvs, char* key, char* value) {
|
584
585
|
if (kvs->num_kvs == kvs->cap_kvs) {
|
585
586
|
kvs->cap_kvs = GPR_MAX(3 * kvs->cap_kvs / 2, 4);
|
586
587
|
kvs->kvs =
|
587
|
-
(kv_pair
|
588
|
+
(kv_pair*)gpr_realloc(kvs->kvs, sizeof(*kvs->kvs) * kvs->cap_kvs);
|
588
589
|
}
|
589
590
|
kvs->kvs[kvs->num_kvs].key = key;
|
590
591
|
kvs->kvs[kvs->num_kvs].value = value;
|
591
592
|
kvs->num_kvs++;
|
592
593
|
}
|
593
594
|
|
594
|
-
static char
|
595
|
+
static char* key_int(grpc_error_ints which) {
|
595
596
|
return gpr_strdup(error_int_name(which));
|
596
597
|
}
|
597
598
|
|
598
|
-
static char
|
599
|
-
char
|
599
|
+
static char* fmt_int(intptr_t p) {
|
600
|
+
char* s;
|
600
601
|
gpr_asprintf(&s, "%" PRIdPTR, p);
|
601
602
|
return s;
|
602
603
|
}
|
603
604
|
|
604
|
-
static void collect_ints_kvs(grpc_error
|
605
|
+
static void collect_ints_kvs(grpc_error* err, kv_pairs* kvs) {
|
605
606
|
for (size_t which = 0; which < GRPC_ERROR_INT_MAX; ++which) {
|
606
607
|
uint8_t slot = err->ints[which];
|
607
608
|
if (slot != UINT8_MAX) {
|
@@ -611,37 +612,37 @@ static void collect_ints_kvs(grpc_error *err, kv_pairs *kvs) {
|
|
611
612
|
}
|
612
613
|
}
|
613
614
|
|
614
|
-
static char
|
615
|
+
static char* key_str(grpc_error_strs which) {
|
615
616
|
return gpr_strdup(error_str_name(which));
|
616
617
|
}
|
617
618
|
|
618
|
-
static char
|
619
|
-
char
|
619
|
+
static char* fmt_str(grpc_slice slice) {
|
620
|
+
char* s = nullptr;
|
620
621
|
size_t sz = 0;
|
621
622
|
size_t cap = 0;
|
622
|
-
append_esc_str((const uint8_t
|
623
|
+
append_esc_str((const uint8_t*)GRPC_SLICE_START_PTR(slice),
|
623
624
|
GRPC_SLICE_LENGTH(slice), &s, &sz, &cap);
|
624
625
|
append_chr(0, &s, &sz, &cap);
|
625
626
|
return s;
|
626
627
|
}
|
627
628
|
|
628
|
-
static void collect_strs_kvs(grpc_error
|
629
|
+
static void collect_strs_kvs(grpc_error* err, kv_pairs* kvs) {
|
629
630
|
for (size_t which = 0; which < GRPC_ERROR_STR_MAX; ++which) {
|
630
631
|
uint8_t slot = err->strs[which];
|
631
632
|
if (slot != UINT8_MAX) {
|
632
633
|
append_kv(kvs, key_str((grpc_error_strs)which),
|
633
|
-
fmt_str(*(grpc_slice
|
634
|
+
fmt_str(*(grpc_slice*)(err->arena + slot)));
|
634
635
|
}
|
635
636
|
}
|
636
637
|
}
|
637
638
|
|
638
|
-
static char
|
639
|
+
static char* key_time(grpc_error_times which) {
|
639
640
|
return gpr_strdup(error_time_name(which));
|
640
641
|
}
|
641
642
|
|
642
|
-
static char
|
643
|
-
char
|
644
|
-
const char
|
643
|
+
static char* fmt_time(gpr_timespec tm) {
|
644
|
+
char* out;
|
645
|
+
const char* pfx = "!!";
|
645
646
|
switch (tm.clock_type) {
|
646
647
|
case GPR_CLOCK_MONOTONIC:
|
647
648
|
pfx = "@monotonic:";
|
@@ -660,24 +661,24 @@ static char *fmt_time(gpr_timespec tm) {
|
|
660
661
|
return out;
|
661
662
|
}
|
662
663
|
|
663
|
-
static void collect_times_kvs(grpc_error
|
664
|
+
static void collect_times_kvs(grpc_error* err, kv_pairs* kvs) {
|
664
665
|
for (size_t which = 0; which < GRPC_ERROR_TIME_MAX; ++which) {
|
665
666
|
uint8_t slot = err->times[which];
|
666
667
|
if (slot != UINT8_MAX) {
|
667
668
|
append_kv(kvs, key_time((grpc_error_times)which),
|
668
|
-
fmt_time(*(gpr_timespec
|
669
|
+
fmt_time(*(gpr_timespec*)(err->arena + slot)));
|
669
670
|
}
|
670
671
|
}
|
671
672
|
}
|
672
673
|
|
673
|
-
static void add_errs(grpc_error
|
674
|
+
static void add_errs(grpc_error* err, char** s, size_t* sz, size_t* cap) {
|
674
675
|
uint8_t slot = err->first_err;
|
675
676
|
bool first = true;
|
676
677
|
while (slot != UINT8_MAX) {
|
677
|
-
grpc_linked_error
|
678
|
+
grpc_linked_error* lerr = (grpc_linked_error*)(err->arena + slot);
|
678
679
|
if (!first) append_chr(',', s, sz, cap);
|
679
680
|
first = false;
|
680
|
-
const char
|
681
|
+
const char* e = grpc_error_string(lerr->err);
|
681
682
|
append_str(e, s, sz, cap);
|
682
683
|
GPR_ASSERT(err->last_err == slot ? lerr->next == UINT8_MAX
|
683
684
|
: lerr->next != UINT8_MAX);
|
@@ -685,8 +686,8 @@ static void add_errs(grpc_error *err, char **s, size_t *sz, size_t *cap) {
|
|
685
686
|
}
|
686
687
|
}
|
687
688
|
|
688
|
-
static char
|
689
|
-
char
|
689
|
+
static char* errs_string(grpc_error* err) {
|
690
|
+
char* s = nullptr;
|
690
691
|
size_t sz = 0;
|
691
692
|
size_t cap = 0;
|
692
693
|
append_chr('[', &s, &sz, &cap);
|
@@ -696,22 +697,22 @@ static char *errs_string(grpc_error *err) {
|
|
696
697
|
return s;
|
697
698
|
}
|
698
699
|
|
699
|
-
static int cmp_kvs(const void
|
700
|
-
const kv_pair
|
701
|
-
const kv_pair
|
700
|
+
static int cmp_kvs(const void* a, const void* b) {
|
701
|
+
const kv_pair* ka = (const kv_pair*)a;
|
702
|
+
const kv_pair* kb = (const kv_pair*)b;
|
702
703
|
return strcmp(ka->key, kb->key);
|
703
704
|
}
|
704
705
|
|
705
|
-
static char
|
706
|
-
char
|
706
|
+
static char* finish_kvs(kv_pairs* kvs) {
|
707
|
+
char* s = nullptr;
|
707
708
|
size_t sz = 0;
|
708
709
|
size_t cap = 0;
|
709
710
|
|
710
711
|
append_chr('{', &s, &sz, &cap);
|
711
712
|
for (size_t i = 0; i < kvs->num_kvs; i++) {
|
712
713
|
if (i != 0) append_chr(',', &s, &sz, &cap);
|
713
|
-
append_esc_str((const uint8_t
|
714
|
-
&
|
714
|
+
append_esc_str((const uint8_t*)kvs->kvs[i].key, strlen(kvs->kvs[i].key), &s,
|
715
|
+
&sz, &cap);
|
715
716
|
gpr_free(kvs->kvs[i].key);
|
716
717
|
append_chr(':', &s, &sz, &cap);
|
717
718
|
append_str(kvs->kvs[i].value, &s, &sz, &cap);
|
@@ -724,16 +725,16 @@ static char *finish_kvs(kv_pairs *kvs) {
|
|
724
725
|
return s;
|
725
726
|
}
|
726
727
|
|
727
|
-
const char
|
728
|
+
const char* grpc_error_string(grpc_error* err) {
|
728
729
|
GPR_TIMER_BEGIN("grpc_error_string", 0);
|
729
730
|
if (err == GRPC_ERROR_NONE) return no_error_string;
|
730
731
|
if (err == GRPC_ERROR_OOM) return oom_error_string;
|
731
732
|
if (err == GRPC_ERROR_CANCELLED) return cancelled_error_string;
|
732
733
|
|
733
|
-
void
|
734
|
-
if (p !=
|
734
|
+
void* p = (void*)gpr_atm_acq_load(&err->atomics.error_string);
|
735
|
+
if (p != nullptr) {
|
735
736
|
GPR_TIMER_END("grpc_error_string", 0);
|
736
|
-
return (const char
|
737
|
+
return (const char*)p;
|
737
738
|
}
|
738
739
|
|
739
740
|
kv_pairs kvs;
|
@@ -748,25 +749,25 @@ const char *grpc_error_string(grpc_error *err) {
|
|
748
749
|
|
749
750
|
qsort(kvs.kvs, kvs.num_kvs, sizeof(kv_pair), cmp_kvs);
|
750
751
|
|
751
|
-
char
|
752
|
+
char* out = finish_kvs(&kvs);
|
752
753
|
|
753
754
|
if (!gpr_atm_rel_cas(&err->atomics.error_string, 0, (gpr_atm)out)) {
|
754
755
|
gpr_free(out);
|
755
|
-
out = (char
|
756
|
+
out = (char*)gpr_atm_no_barrier_load(&err->atomics.error_string);
|
756
757
|
}
|
757
758
|
|
758
759
|
GPR_TIMER_END("grpc_error_string", 0);
|
759
760
|
return out;
|
760
761
|
}
|
761
762
|
|
762
|
-
grpc_error
|
763
|
-
const char
|
763
|
+
grpc_error* grpc_os_error(const char* file, int line, int err,
|
764
|
+
const char* call_name) {
|
764
765
|
return grpc_error_set_str(
|
765
766
|
grpc_error_set_str(
|
766
767
|
grpc_error_set_int(
|
767
768
|
grpc_error_create(file, line,
|
768
|
-
grpc_slice_from_static_string("OS Error"),
|
769
|
-
0),
|
769
|
+
grpc_slice_from_static_string("OS Error"),
|
770
|
+
nullptr, 0),
|
770
771
|
GRPC_ERROR_INT_ERRNO, err),
|
771
772
|
GRPC_ERROR_STR_OS_ERROR,
|
772
773
|
grpc_slice_from_static_string(strerror(err))),
|
@@ -774,10 +775,10 @@ grpc_error *grpc_os_error(const char *file, int line, int err,
|
|
774
775
|
}
|
775
776
|
|
776
777
|
#ifdef GPR_WINDOWS
|
777
|
-
grpc_error
|
778
|
-
const char
|
779
|
-
char
|
780
|
-
grpc_error
|
778
|
+
grpc_error* grpc_wsa_error(const char* file, int line, int err,
|
779
|
+
const char* call_name) {
|
780
|
+
char* utf8_message = gpr_format_message(err);
|
781
|
+
grpc_error* error = grpc_error_set_str(
|
781
782
|
grpc_error_set_str(
|
782
783
|
grpc_error_set_int(
|
783
784
|
grpc_error_create(file, line,
|
@@ -791,10 +792,10 @@ grpc_error *grpc_wsa_error(const char *file, int line, int err,
|
|
791
792
|
}
|
792
793
|
#endif
|
793
794
|
|
794
|
-
bool grpc_log_if_error(const char
|
795
|
+
bool grpc_log_if_error(const char* what, grpc_error* error, const char* file,
|
795
796
|
int line) {
|
796
797
|
if (error == GRPC_ERROR_NONE) return true;
|
797
|
-
const char
|
798
|
+
const char* msg = grpc_error_string(error);
|
798
799
|
gpr_log(file, line, GPR_LOG_SEVERITY_ERROR, "%s: %s", what, msg);
|
799
800
|
GRPC_ERROR_UNREF(error);
|
800
801
|
return false;
|