From 9714e0376a2890b850496c981694af5f91a49353 Mon Sep 17 00:00:00 2001 From: Ken Payson Date: Tue, 10 Oct 2017 11:18:49 -0700 Subject: Add thread pool reset on fork with FORKING_SUPPORT_ENABLED --- test/core/surface/public_headers_must_be_c89.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'test') diff --git a/test/core/surface/public_headers_must_be_c89.c b/test/core/surface/public_headers_must_be_c89.c index d36d116afb..8a7828d4c2 100644 --- a/test/core/surface/public_headers_must_be_c89.c +++ b/test/core/surface/public_headers_must_be_c89.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include #include #include #include -- cgit v1.2.3 From adbfbd5977104987bee9f946f691683b756305e8 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Thu, 16 Nov 2017 15:35:45 -0800 Subject: Remove all extern C --- .../grpc++/impl/codegen/core_codegen_interface.h | 4 -- include/grpc/census.h | 8 +-- include/grpc/compression.h | 8 +-- include/grpc/grpc.h | 8 +-- include/grpc/grpc_cronet.h | 8 +-- include/grpc/grpc_posix.h | 8 +-- include/grpc/grpc_security.h | 8 +-- include/grpc/grpc_security_constants.h | 8 +-- include/grpc/impl/codegen/atm.h | 8 +-- include/grpc/impl/codegen/atm_gcc_atomic.h | 8 +-- include/grpc/impl/codegen/byte_buffer.h | 8 +-- include/grpc/impl/codegen/byte_buffer_reader.h | 8 +-- include/grpc/impl/codegen/compression_types.h | 8 +-- include/grpc/impl/codegen/connectivity_state.h | 8 +-- include/grpc/impl/codegen/gpr_types.h | 8 +-- include/grpc/impl/codegen/grpc_types.h | 8 +-- include/grpc/impl/codegen/propagation_bits.h | 8 +-- include/grpc/impl/codegen/status.h | 8 +-- include/grpc/impl/codegen/sync.h | 8 +-- include/grpc/load_reporting.h | 8 +-- include/grpc/slice.h | 8 +-- include/grpc/slice_buffer.h | 8 +-- include/grpc/support/alloc.h | 8 +-- include/grpc/support/avl.h | 8 +-- include/grpc/support/cmdline.h | 8 +-- include/grpc/support/cpu.h | 8 +-- include/grpc/support/histogram.h | 8 +-- include/grpc/support/host_port.h | 8 +-- include/grpc/support/log.h | 8 +-- include/grpc/support/log_windows.h | 8 +-- include/grpc/support/string_util.h | 8 +-- include/grpc/support/subprocess.h | 8 +-- include/grpc/support/sync.h | 8 +-- include/grpc/support/thd.h | 8 +-- include/grpc/support/time.h | 8 +-- include/grpc/support/tls_pthread.h | 8 +-- .../ext/filters/client_channel/client_channel.h | 8 +-- .../client_channel/client_channel_factory.h | 8 +-- .../client_channel/client_channel_plugin.cc | 4 +- src/core/ext/filters/client_channel/connector.h | 8 +-- .../client_channel/http_connect_handshaker.h | 8 +-- src/core/ext/filters/client_channel/http_proxy.h | 8 +-- src/core/ext/filters/client_channel/lb_policy.h | 8 +-- .../grpclb/client_load_reporting_filter.h | 8 +-- .../client_channel/lb_policy/grpclb/grpclb.cc | 4 +- .../client_channel/lb_policy/grpclb/grpclb.h | 8 +-- .../lb_policy/grpclb/grpclb_channel.h | 8 +-- .../lb_policy/grpclb/grpclb_client_stats.h | 8 +-- .../lb_policy/grpclb/load_balancer_api.h | 8 +-- .../lb_policy/pick_first/pick_first.cc | 4 +- .../lb_policy/round_robin/round_robin.cc | 4 +- .../client_channel/lb_policy/subchannel_list.h | 8 +-- .../ext/filters/client_channel/lb_policy_factory.h | 8 +-- .../filters/client_channel/lb_policy_registry.h | 8 +-- .../ext/filters/client_channel/parse_address.h | 8 +-- src/core/ext/filters/client_channel/proxy_mapper.h | 8 +-- .../filters/client_channel/proxy_mapper_registry.h | 8 +-- src/core/ext/filters/client_channel/resolver.h | 8 +-- .../resolver/dns/c_ares/dns_resolver_ares.cc | 8 +-- .../resolver/dns/c_ares/grpc_ares_ev_driver.h | 8 +-- .../resolver/dns/c_ares/grpc_ares_wrapper.h | 8 +-- .../resolver/dns/native/dns_resolver.cc | 4 +- .../client_channel/resolver/fake/fake_resolver.cc | 4 +- .../client_channel/resolver/fake/fake_resolver.h | 8 +-- .../resolver/sockaddr/sockaddr_resolver.cc | 4 +- .../ext/filters/client_channel/resolver_factory.h | 8 +-- .../ext/filters/client_channel/resolver_registry.h | 8 +-- .../ext/filters/client_channel/retry_throttle.h | 8 +-- src/core/ext/filters/client_channel/subchannel.h | 8 +-- .../ext/filters/client_channel/subchannel_index.h | 8 +-- src/core/ext/filters/client_channel/uri_parser.h | 8 +-- src/core/ext/filters/deadline/deadline_filter.cc | 4 +- src/core/ext/filters/deadline/deadline_filter.h | 8 +-- .../ext/filters/http/client/http_client_filter.h | 8 +-- src/core/ext/filters/http/http_filters_plugin.cc | 4 +- .../message_compress/message_compress_filter.h | 8 +-- .../ext/filters/http/server/http_server_filter.h | 8 +-- .../load_reporting/server_load_reporting_filter.h | 8 +-- .../load_reporting/server_load_reporting_plugin.cc | 4 +- .../load_reporting/server_load_reporting_plugin.h | 8 +-- src/core/ext/filters/max_age/max_age_filter.cc | 4 +- src/core/ext/filters/max_age/max_age_filter.h | 8 +-- .../filters/message_size/message_size_filter.cc | 4 +- .../ext/filters/message_size/message_size_filter.h | 8 +-- .../workaround_cronet_compression_filter.cc | 4 +- .../workaround_cronet_compression_filter.h | 8 +-- .../ext/filters/workarounds/workaround_utils.h | 8 +-- src/core/ext/transport/chttp2/alpn/alpn.h | 8 +-- .../ext/transport/chttp2/client/chttp2_connector.h | 8 +-- .../ext/transport/chttp2/server/chttp2_server.h | 8 +-- .../ext/transport/chttp2/transport/bin_decoder.h | 8 +-- .../ext/transport/chttp2/transport/bin_encoder.h | 8 +-- .../transport/chttp2/transport/chttp2_plugin.cc | 4 +- .../transport/chttp2/transport/chttp2_transport.h | 8 +-- .../ext/transport/chttp2/transport/flow_control.h | 2 +- src/core/ext/transport/chttp2/transport/frame.h | 8 +-- .../ext/transport/chttp2/transport/frame_data.h | 8 +-- .../ext/transport/chttp2/transport/frame_goaway.h | 8 +-- .../ext/transport/chttp2/transport/frame_ping.h | 8 +-- .../transport/chttp2/transport/frame_rst_stream.h | 8 +-- .../transport/chttp2/transport/frame_settings.h | 8 +-- .../chttp2/transport/frame_window_update.h | 8 +-- .../ext/transport/chttp2/transport/hpack_encoder.h | 8 +-- .../ext/transport/chttp2/transport/hpack_parser.h | 8 +-- .../ext/transport/chttp2/transport/hpack_table.h | 8 +-- .../transport/chttp2/transport/http2_settings.h | 8 +-- src/core/ext/transport/chttp2/transport/huffsyms.h | 8 +-- .../transport/chttp2/transport/incoming_metadata.h | 8 +-- src/core/ext/transport/chttp2/transport/internal.h | 8 +-- .../ext/transport/chttp2/transport/stream_map.h | 8 +-- src/core/ext/transport/chttp2/transport/varint.h | 8 +-- .../transport/cronet/transport/cronet_transport.h | 8 +-- src/core/ext/transport/inproc/inproc_plugin.cc | 4 +- src/core/ext/transport/inproc/inproc_transport.h | 8 +-- src/core/lib/backoff/backoff.h | 8 +-- src/core/lib/channel/channel_args.h | 8 +-- src/core/lib/channel/channel_stack.h | 8 +-- src/core/lib/channel/channel_stack_builder.h | 8 +-- src/core/lib/channel/connected_channel.h | 8 +-- src/core/lib/channel/handshaker.h | 8 +-- src/core/lib/channel/handshaker_factory.h | 8 +-- src/core/lib/channel/handshaker_registry.h | 8 +-- src/core/lib/compression/algorithm_metadata.h | 8 +-- src/core/lib/compression/message_compress.h | 8 +-- src/core/lib/compression/stream_compression.h | 8 +-- src/core/lib/compression/stream_compression_gzip.h | 8 +-- .../lib/compression/stream_compression_identity.h | 8 +-- src/core/lib/debug/stats.h | 8 +-- src/core/lib/debug/stats_data.h | 8 +-- src/core/lib/debug/trace.h | 8 +-- src/core/lib/http/format_request.h | 8 +-- src/core/lib/http/httpcli.h | 8 +-- src/core/lib/http/parser.h | 8 +-- src/core/lib/iomgr/block_annotate.h | 8 +-- src/core/lib/iomgr/call_combiner.h | 8 +-- src/core/lib/iomgr/combiner.h | 8 +-- src/core/lib/iomgr/endpoint.h | 8 +-- src/core/lib/iomgr/endpoint_pair.h | 8 +-- src/core/lib/iomgr/error.h | 8 +-- src/core/lib/iomgr/error_internal.h | 8 +-- src/core/lib/iomgr/ev_epoll1_linux.h | 8 +-- src/core/lib/iomgr/ev_epollex_linux.h | 8 +-- src/core/lib/iomgr/ev_epollsig_linux.h | 8 +-- src/core/lib/iomgr/ev_poll_posix.h | 8 +-- src/core/lib/iomgr/ev_posix.cc | 3 - src/core/lib/iomgr/ev_posix.h | 8 +-- src/core/lib/iomgr/exec_ctx.h | 8 +-- src/core/lib/iomgr/executor.h | 8 +-- src/core/lib/iomgr/gethostname.h | 8 +-- src/core/lib/iomgr/iocp_windows.h | 8 +-- src/core/lib/iomgr/iomgr.h | 8 +-- src/core/lib/iomgr/iomgr_internal.h | 8 +-- src/core/lib/iomgr/iomgr_uv.h | 8 +-- src/core/lib/iomgr/is_epollexclusive_available.h | 8 +-- src/core/lib/iomgr/load_file.h | 8 +-- src/core/lib/iomgr/polling_entity.h | 8 +-- src/core/lib/iomgr/pollset.h | 8 +-- src/core/lib/iomgr/pollset_set.h | 8 +-- src/core/lib/iomgr/pollset_uv.h | 8 +-- src/core/lib/iomgr/pollset_windows.h | 8 +-- src/core/lib/iomgr/resolve_address.h | 8 +-- src/core/lib/iomgr/resource_quota.h | 8 +-- src/core/lib/iomgr/sockaddr_utils.h | 8 +-- src/core/lib/iomgr/socket_factory_posix.h | 8 +-- src/core/lib/iomgr/socket_mutator.h | 8 +-- src/core/lib/iomgr/socket_utils.h | 8 +-- src/core/lib/iomgr/socket_utils_posix.h | 8 +-- src/core/lib/iomgr/socket_windows.h | 8 +-- src/core/lib/iomgr/tcp_client.h | 8 +-- src/core/lib/iomgr/tcp_client_posix.cc | 2 - src/core/lib/iomgr/tcp_client_posix.h | 8 +-- src/core/lib/iomgr/tcp_client_windows.cc | 2 - src/core/lib/iomgr/tcp_posix.h | 8 +-- src/core/lib/iomgr/tcp_server.h | 8 +-- src/core/lib/iomgr/tcp_server_utils_posix.h | 8 +-- src/core/lib/iomgr/tcp_uv.h | 8 +-- src/core/lib/iomgr/tcp_windows.h | 8 +-- src/core/lib/iomgr/time_averaged_stats.h | 8 +-- src/core/lib/iomgr/timer.h | 8 +-- src/core/lib/iomgr/timer_generic.cc | 2 - src/core/lib/iomgr/timer_heap.h | 8 +-- src/core/lib/iomgr/timer_manager.h | 8 +-- src/core/lib/iomgr/timer_uv.cc | 2 - src/core/lib/iomgr/udp_server.h | 8 +-- src/core/lib/iomgr/unix_sockets_posix.h | 8 +-- src/core/lib/iomgr/wakeup_fd_cv.h | 8 +-- src/core/lib/iomgr/wakeup_fd_pipe.h | 8 +-- src/core/lib/iomgr/wakeup_fd_posix.h | 8 +-- src/core/lib/json/json.h | 8 +-- src/core/lib/json/json_reader.h | 8 +-- src/core/lib/json/json_writer.h | 8 +-- src/core/lib/profiling/timers.h | 8 +-- src/core/lib/security/context/security_context.h | 8 +-- .../credentials/composite/composite_credentials.h | 8 +-- src/core/lib/security/credentials/credentials.h | 8 +-- .../security/credentials/fake/fake_credentials.h | 8 +-- .../google_default/google_default_credentials.h | 8 +-- src/core/lib/security/credentials/jwt/json_token.h | 8 +-- .../lib/security/credentials/jwt/jwt_credentials.h | 8 +-- .../lib/security/credentials/jwt/jwt_verifier.h | 8 +-- .../credentials/oauth2/oauth2_credentials.h | 8 +-- .../lib/security/credentials/ssl/ssl_credentials.h | 8 +-- src/core/lib/security/transport/auth_filters.h | 8 +-- src/core/lib/security/transport/lb_targets_info.h | 8 +-- src/core/lib/security/transport/secure_endpoint.h | 8 +-- .../lib/security/transport/security_connector.h | 8 +-- .../lib/security/transport/security_handshaker.h | 8 +-- src/core/lib/security/transport/tsi_error.h | 8 +-- src/core/lib/security/util/json_util.h | 8 +-- src/core/lib/slice/b64.h | 8 +-- src/core/lib/slice/percent_encoding.h | 8 +-- src/core/lib/slice/slice_hash_table.h | 8 +-- src/core/lib/slice/slice_internal.h | 8 +-- src/core/lib/slice/slice_string_helpers.h | 8 +-- src/core/lib/slice/slice_traits.h | 8 +-- src/core/lib/support/arena.h | 8 +-- src/core/lib/support/env.h | 8 +-- src/core/lib/support/log.cc | 2 +- src/core/lib/support/log_android.cc | 4 +- src/core/lib/support/log_linux.cc | 2 +- src/core/lib/support/log_posix.cc | 2 +- src/core/lib/support/log_windows.cc | 2 +- src/core/lib/support/mpscq.h | 8 +-- src/core/lib/support/murmur_hash.h | 8 +-- src/core/lib/support/stack_lockfree.h | 8 +-- src/core/lib/support/string.h | 8 +-- src/core/lib/support/string_windows.h | 8 +-- src/core/lib/support/time_posix.cc | 2 - src/core/lib/support/time_precise.h | 8 +-- src/core/lib/support/time_windows.cc | 2 - src/core/lib/support/tmpfile.h | 8 +-- src/core/lib/surface/alarm_internal.h | 8 +-- src/core/lib/surface/api_trace.h | 8 +-- src/core/lib/surface/call.h | 8 +-- src/core/lib/surface/call_test_only.h | 8 +-- src/core/lib/surface/channel.h | 8 +-- src/core/lib/surface/channel_init.h | 8 +-- src/core/lib/surface/channel_stack_type.h | 8 +-- src/core/lib/surface/completion_queue.h | 8 +-- src/core/lib/surface/completion_queue_factory.h | 8 +-- src/core/lib/surface/event_string.h | 8 +-- src/core/lib/surface/init.h | 8 +-- src/core/lib/surface/lame_client.cc | 4 +- src/core/lib/surface/lame_client.h | 8 +-- src/core/lib/surface/server.h | 8 +-- src/core/lib/surface/validate_metadata.h | 8 +-- src/core/lib/transport/byte_stream.h | 8 +-- src/core/lib/transport/connectivity_state.h | 8 +-- src/core/lib/transport/error_utils.h | 8 +-- src/core/lib/transport/metadata.h | 8 +-- src/core/lib/transport/metadata_batch.h | 8 +-- src/core/lib/transport/service_config.h | 8 +-- src/core/lib/transport/static_metadata.h | 8 +-- src/core/lib/transport/status_conversion.h | 8 +-- src/core/lib/transport/timeout_encoding.h | 8 +-- src/core/lib/transport/transport.h | 8 +-- src/core/lib/transport/transport_impl.h | 8 +-- .../plugin_registry/grpc_cronet_plugin_registry.cc | 24 ++++---- src/core/plugin_registry/grpc_plugin_registry.cc | 68 +++++++++++----------- .../grpc_unsecure_plugin_registry.cc | 64 ++++++++++---------- src/core/tsi/fake_transport_security.h | 8 +-- src/core/tsi/gts_transport_security.cc | 4 +- src/core/tsi/gts_transport_security.h | 8 +-- src/core/tsi/ssl_transport_security.h | 8 +-- src/core/tsi/ssl_types.h | 8 +-- src/core/tsi/transport_security.h | 8 +-- src/core/tsi/transport_security_adapter.h | 8 +-- src/core/tsi/transport_security_grpc.h | 8 +-- src/core/tsi/transport_security_interface.h | 8 +-- src/cpp/common/channel_arguments.cc | 3 +- src/cpp/common/channel_filter.cc | 2 - src/cpp/common/channel_filter.h | 2 - src/cpp/common/core_codegen.cc | 2 - templates/src/core/plugin_registry.template | 4 +- test/core/end2end/cq_verifier.h | 8 +-- test/core/end2end/data/ssl_test_data.h | 8 +-- test/core/end2end/end2end_tests.h | 8 +-- test/core/end2end/fuzzers/api_fuzzer.cc | 2 +- test/core/end2end/tests/no_logging.cc | 2 +- test/core/util/port.h | 8 +-- test/core/util/test_config.h | 8 +-- test/cpp/client/client_channel_stress_test.cc | 2 - test/cpp/interop/stress_test.cc | 2 - 283 files changed, 602 insertions(+), 1596 deletions(-) (limited to 'test') diff --git a/include/grpc++/impl/codegen/core_codegen_interface.h b/include/grpc++/impl/codegen/core_codegen_interface.h index 1949cdab76..d7ad7a4b57 100644 --- a/include/grpc++/impl/codegen/core_codegen_interface.h +++ b/include/grpc++/impl/codegen/core_codegen_interface.h @@ -25,10 +25,6 @@ #include #include -extern "C" { -struct grpc_byte_buffer; -} - namespace grpc { /// Interface between the codegen library and the minimal subset of core diff --git a/include/grpc/census.h b/include/grpc/census.h index 2258af8898..d7f2fab50b 100644 --- a/include/grpc/census.h +++ b/include/grpc/census.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** A Census Context is a handle used by Census to represent the current tracing @@ -31,8 +29,6 @@ extern "C" { (this is the responsibility of the local RPC system). */ typedef struct census_context census_context; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CENSUS_H */ diff --git a/include/grpc/compression.h b/include/grpc/compression.h index b42f428d7d..c0db8c2bfa 100644 --- a/include/grpc/compression.h +++ b/include/grpc/compression.h @@ -26,9 +26,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /** Parses the \a slice as a grpc_compression_algorithm instance and updating \a * algorithm. Returns 1 upon success, 0 otherwise. */ @@ -85,8 +83,6 @@ GRPCAPI int grpc_compression_options_is_stream_compression_algorithm_enabled( const grpc_compression_options* opts, grpc_stream_compression_algorithm algorithm); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_COMPRESSION_H */ diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index f083bc591e..6d6d56a7b3 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -29,9 +29,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /*! \mainpage GRPC Core * @@ -466,8 +464,6 @@ GRPCAPI void grpc_resource_quota_resize(grpc_resource_quota* resource_quota, */ GRPCAPI const grpc_arg_pointer_vtable* grpc_resource_quota_arg_vtable(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_GRPC_H */ diff --git a/include/grpc/grpc_cronet.h b/include/grpc/grpc_cronet.h index 127d5d038d..b3e7ec2705 100644 --- a/include/grpc/grpc_cronet.h +++ b/include/grpc/grpc_cronet.h @@ -21,16 +21,12 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + GRPCAPI grpc_channel* grpc_cronet_secure_channel_create( void* engine, const char* target, const grpc_channel_args* args, void* reserved); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_GRPC_CRONET_H */ diff --git a/include/grpc/grpc_posix.h b/include/grpc/grpc_posix.h index fa7ebced3f..f14cbaa81b 100644 --- a/include/grpc/grpc_posix.h +++ b/include/grpc/grpc_posix.h @@ -24,9 +24,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /*! \mainpage GRPC Core POSIX * @@ -59,8 +57,6 @@ GRPCAPI void grpc_server_add_insecure_channel_from_fd(grpc_server* server, - This API is optional but if called, it MUST be called before grpc_init() */ GRPCAPI void grpc_use_signal(int signum); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_GRPC_POSIX_H */ diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index 7e87217de7..f2a05074c2 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -23,9 +23,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /** --- Authentication Context. --- */ @@ -461,8 +459,6 @@ typedef struct { GRPCAPI void grpc_server_credentials_set_auth_metadata_processor( grpc_server_credentials* creds, grpc_auth_metadata_processor processor); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_GRPC_SECURITY_H */ diff --git a/include/grpc/grpc_security_constants.h b/include/grpc/grpc_security_constants.h index 60e167eb88..1923525ea0 100644 --- a/include/grpc/grpc_security_constants.h +++ b/include/grpc/grpc_security_constants.h @@ -19,9 +19,7 @@ #ifndef GRPC_GRPC_SECURITY_CONSTANTS_H #define GRPC_GRPC_SECURITY_CONSTANTS_H -#ifdef __cplusplus -extern "C" { -#endif + #define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME "transport_security_type" #define GRPC_SSL_TRANSPORT_SECURITY_TYPE "ssl" @@ -99,8 +97,6 @@ typedef enum { GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY } grpc_ssl_client_certificate_request_type; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_GRPC_SECURITY_CONSTANTS_H */ diff --git a/include/grpc/impl/codegen/atm.h b/include/grpc/impl/codegen/atm.h index 00d83f0604..7bb41c55d2 100644 --- a/include/grpc/impl/codegen/atm.h +++ b/include/grpc/impl/codegen/atm.h @@ -79,17 +79,13 @@ #error could not determine platform for atm #endif -#ifdef __cplusplus -extern "C" { -#endif + /** Adds \a delta to \a *value, clamping the result to the range specified by \a min and \a max. Returns the new value. */ gpr_atm gpr_atm_no_barrier_clamped_add(gpr_atm* value, gpr_atm delta, gpr_atm min, gpr_atm max); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_ATM_H */ diff --git a/include/grpc/impl/codegen/atm_gcc_atomic.h b/include/grpc/impl/codegen/atm_gcc_atomic.h index 5879708548..52eebb3c72 100644 --- a/include/grpc/impl/codegen/atm_gcc_atomic.h +++ b/include/grpc/impl/codegen/atm_gcc_atomic.h @@ -23,9 +23,7 @@ __atomic_* interface. */ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef intptr_t gpr_atm; #define GPR_ATM_MAX INTPTR_MAX @@ -84,8 +82,6 @@ static __inline int gpr_atm_full_cas(gpr_atm* p, gpr_atm o, gpr_atm n) { #define gpr_atm_full_xchg(p, n) \ GPR_ATM_INC_CAS_THEN(__atomic_exchange_n((p), (n), __ATOMIC_ACQ_REL)) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_ATM_GCC_ATOMIC_H */ diff --git a/include/grpc/impl/codegen/byte_buffer.h b/include/grpc/impl/codegen/byte_buffer.h index f8dfbd1d7d..082fb9b36f 100644 --- a/include/grpc/impl/codegen/byte_buffer.h +++ b/include/grpc/impl/codegen/byte_buffer.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Returns a RAW byte buffer instance over the given slices (up to \a nslices). * @@ -79,8 +77,6 @@ grpc_byte_buffer_reader_readall(grpc_byte_buffer_reader* reader); GRPCAPI grpc_byte_buffer* grpc_raw_byte_buffer_from_reader( grpc_byte_buffer_reader* reader); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_BYTE_BUFFER_H */ diff --git a/include/grpc/impl/codegen/byte_buffer_reader.h b/include/grpc/impl/codegen/byte_buffer_reader.h index e06e19558a..adb64e7831 100644 --- a/include/grpc/impl/codegen/byte_buffer_reader.h +++ b/include/grpc/impl/codegen/byte_buffer_reader.h @@ -19,9 +19,7 @@ #ifndef GRPC_IMPL_CODEGEN_BYTE_BUFFER_READER_H #define GRPC_IMPL_CODEGEN_BYTE_BUFFER_READER_H -#ifdef __cplusplus -extern "C" { -#endif + struct grpc_byte_buffer; @@ -35,8 +33,6 @@ struct grpc_byte_buffer_reader { } current; }; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_BYTE_BUFFER_READER_H */ diff --git a/include/grpc/impl/codegen/compression_types.h b/include/grpc/impl/codegen/compression_types.h index 4419e2a447..ad19ea6b31 100644 --- a/include/grpc/impl/codegen/compression_types.h +++ b/include/grpc/impl/codegen/compression_types.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** To be used as initial metadata key for the request of a concrete compression * algorithm */ @@ -157,8 +155,6 @@ typedef struct grpc_compression_options { } grpc_compression_options; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_COMPRESSION_TYPES_H */ diff --git a/include/grpc/impl/codegen/connectivity_state.h b/include/grpc/impl/codegen/connectivity_state.h index b70dbef356..713652de24 100644 --- a/include/grpc/impl/codegen/connectivity_state.h +++ b/include/grpc/impl/codegen/connectivity_state.h @@ -19,9 +19,7 @@ #ifndef GRPC_IMPL_CODEGEN_CONNECTIVITY_STATE_H #define GRPC_IMPL_CODEGEN_CONNECTIVITY_STATE_H -#ifdef __cplusplus -extern "C" { -#endif + /** Connectivity state of a channel. */ typedef enum { @@ -37,8 +35,6 @@ typedef enum { GRPC_CHANNEL_SHUTDOWN } grpc_connectivity_state; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_CONNECTIVITY_STATE_H */ diff --git a/include/grpc/impl/codegen/gpr_types.h b/include/grpc/impl/codegen/gpr_types.h index d7bb54527e..153d4ec7db 100644 --- a/include/grpc/impl/codegen/gpr_types.h +++ b/include/grpc/impl/codegen/gpr_types.h @@ -23,9 +23,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** The clocks we support. */ typedef enum { @@ -52,8 +50,6 @@ typedef struct gpr_timespec { gpr_clock_type clock_type; } gpr_timespec; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_GPR_TYPES_H */ diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h index 03be610d25..faa21a4e40 100644 --- a/include/grpc/impl/codegen/grpc_types.h +++ b/include/grpc/impl/codegen/grpc_types.h @@ -29,9 +29,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_BB_RAW @@ -628,8 +626,6 @@ typedef struct grpc_completion_queue_attributes { /** The completion queue factory structure is opaque to the callers of grpc */ typedef struct grpc_completion_queue_factory grpc_completion_queue_factory; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_GRPC_TYPES_H */ diff --git a/include/grpc/impl/codegen/propagation_bits.h b/include/grpc/impl/codegen/propagation_bits.h index 824bdbd8c9..4eac3806fc 100644 --- a/include/grpc/impl/codegen/propagation_bits.h +++ b/include/grpc/impl/codegen/propagation_bits.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Propagation bits: this can be bitwise or-ed to form propagation_mask for * grpc_call */ @@ -45,8 +43,6 @@ extern "C" { 0xffff | GRPC_PROPAGATE_DEADLINE | GRPC_PROPAGATE_CENSUS_STATS_CONTEXT | \ GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT | GRPC_PROPAGATE_CANCELLATION))) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_PROPAGATION_BITS_H */ diff --git a/include/grpc/impl/codegen/status.h b/include/grpc/impl/codegen/status.h index 9bc3dc9560..4f1bce3a92 100644 --- a/include/grpc/impl/codegen/status.h +++ b/include/grpc/impl/codegen/status.h @@ -19,9 +19,7 @@ #ifndef GRPC_IMPL_CODEGEN_STATUS_H #define GRPC_IMPL_CODEGEN_STATUS_H -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { /** Not an error; returned on success */ @@ -146,8 +144,6 @@ typedef enum { GRPC_STATUS__DO_NOT_USE = -1 } grpc_status_code; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_STATUS_H */ diff --git a/include/grpc/impl/codegen/sync.h b/include/grpc/impl/codegen/sync.h index 6cdb0c5153..b9cd7204c0 100644 --- a/include/grpc/impl/codegen/sync.h +++ b/include/grpc/impl/codegen/sync.h @@ -37,9 +37,7 @@ provides no memory barriers. */ -#ifdef __cplusplus -extern "C" { -#endif + /* Platform-specific type declarations of gpr_mu and gpr_cv. */ #include @@ -55,8 +53,6 @@ extern "C" { #error Unable to determine platform for sync #endif -#ifdef __cplusplus -} -#endif + #endif /* GRPC_IMPL_CODEGEN_SYNC_H */ diff --git a/include/grpc/load_reporting.h b/include/grpc/load_reporting.h index 55f50ea85e..23ae315a89 100644 --- a/include/grpc/load_reporting.h +++ b/include/grpc/load_reporting.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Metadata key for the gRPC LB load balancer token. * @@ -41,8 +39,6 @@ extern "C" { * call. */ #define GRPC_LB_COST_MD_KEY "lb-cost-bin" -#ifdef __cplusplus -} -#endif + #endif /* GRPC_LOAD_REPORTING_H */ diff --git a/include/grpc/slice.h b/include/grpc/slice.h index 10b6a624b3..dd188d6849 100644 --- a/include/grpc/slice.h +++ b/include/grpc/slice.h @@ -22,9 +22,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /** Increment the refcount of s. Requires slice is initialized. Returns s. */ @@ -163,8 +161,6 @@ GPRAPI grpc_slice grpc_slice_dup(grpc_slice a); NULL's. Returned string must be freed with gpr_free. */ GPRAPI char* grpc_slice_to_c_string(grpc_slice s); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SLICE_H */ diff --git a/include/grpc/slice_buffer.h b/include/grpc/slice_buffer.h index 6510c151b3..4ba9f600a5 100644 --- a/include/grpc/slice_buffer.h +++ b/include/grpc/slice_buffer.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** initialize a slice buffer */ GPRAPI void grpc_slice_buffer_init(grpc_slice_buffer* sb); @@ -76,8 +74,6 @@ GPRAPI grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer* src); GPRAPI void grpc_slice_buffer_undo_take_first(grpc_slice_buffer* src, grpc_slice slice); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SLICE_BUFFER_H */ diff --git a/include/grpc/support/alloc.h b/include/grpc/support/alloc.h index 31cb225638..d9398a2902 100644 --- a/include/grpc/support/alloc.h +++ b/include/grpc/support/alloc.h @@ -23,9 +23,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gpr_allocation_functions { void* (*malloc_fn)(size_t size); @@ -60,8 +58,6 @@ GPRAPI void gpr_set_allocation_functions(gpr_allocation_functions functions); /** Return the family of allocation functions currently in effect. */ GPRAPI gpr_allocation_functions gpr_get_allocation_functions(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_ALLOC_H */ diff --git a/include/grpc/support/avl.h b/include/grpc/support/avl.h index b5a8c0ffa1..d43196f99b 100644 --- a/include/grpc/support/avl.h +++ b/include/grpc/support/avl.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** internal node of an AVL tree */ typedef struct gpr_avl_node { @@ -95,8 +93,6 @@ GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void* key, void** value, /** Return 1 if avl is empty, 0 otherwise */ GPRAPI int gpr_avl_is_empty(gpr_avl avl); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_AVL_H */ diff --git a/include/grpc/support/cmdline.h b/include/grpc/support/cmdline.h index c34a109fbd..e242eb592b 100644 --- a/include/grpc/support/cmdline.h +++ b/include/grpc/support/cmdline.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Simple command line parser. @@ -81,8 +79,6 @@ GPRAPI void gpr_cmdline_destroy(gpr_cmdline* cl); /** Get a string describing usage */ GPRAPI char* gpr_cmdline_usage_string(gpr_cmdline* cl, const char* argv0); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_CMDLINE_H */ diff --git a/include/grpc/support/cpu.h b/include/grpc/support/cpu.h index f0e898e859..dbc7c92993 100644 --- a/include/grpc/support/cpu.h +++ b/include/grpc/support/cpu.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Interface providing CPU information for currently running system */ @@ -37,8 +35,6 @@ GPRAPI unsigned gpr_cpu_num_cores(void); [0, gpr_cpu_num_cores() - 1] */ GPRAPI unsigned gpr_cpu_current_cpu(void); -#ifdef __cplusplus -} // extern "C" -#endif + #endif /* GRPC_SUPPORT_CPU_H */ diff --git a/include/grpc/support/histogram.h b/include/grpc/support/histogram.h index d2794d847e..cc08cfa688 100644 --- a/include/grpc/support/histogram.h +++ b/include/grpc/support/histogram.h @@ -22,9 +22,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gpr_histogram gpr_histogram; @@ -57,8 +55,6 @@ GPRAPI void gpr_histogram_merge_contents(gpr_histogram* histogram, double max_seen, double sum, double sum_of_squares, double count); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_HISTOGRAM_H */ diff --git a/include/grpc/support/host_port.h b/include/grpc/support/host_port.h index 9805811bfb..7880b642b5 100644 --- a/include/grpc/support/host_port.h +++ b/include/grpc/support/host_port.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Given a host and port, creates a newly-allocated string of the form "host:port" or "[ho:st]:port", depending on whether the host contains colons @@ -44,8 +42,6 @@ GPRAPI int gpr_join_host_port(char** out, const char* host, int port); failure. */ GPRAPI int gpr_split_host_port(const char* name, char** host, char** port); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_HOST_PORT_H */ diff --git a/include/grpc/support/log.h b/include/grpc/support/log.h index 497cca9081..af8e623130 100644 --- a/include/grpc/support/log.h +++ b/include/grpc/support/log.h @@ -25,9 +25,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** GPR log API. @@ -96,8 +94,6 @@ GPRAPI void gpr_set_log_function(gpr_log_func func); } \ } while (0) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_LOG_H */ diff --git a/include/grpc/support/log_windows.h b/include/grpc/support/log_windows.h index e833f9d9df..93d4fc73c4 100644 --- a/include/grpc/support/log_windows.h +++ b/include/grpc/support/log_windows.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Returns a string allocated with gpr_malloc that contains a UTF-8 * formatted error message, corresponding to the error messageid. @@ -31,8 +29,6 @@ extern "C" { */ GPRAPI char* gpr_format_message(int messageid); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_LOG_WINDOWS_H */ diff --git a/include/grpc/support/string_util.h b/include/grpc/support/string_util.h index 2c7460fa15..5c5b60d67e 100644 --- a/include/grpc/support/string_util.h +++ b/include/grpc/support/string_util.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** String utility functions */ @@ -42,8 +40,6 @@ GPRAPI char* gpr_strdup(const char* src); GPRAPI int gpr_asprintf(char** strp, const char* format, ...) GPR_PRINT_FORMAT_CHECK(2, 3); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_STRING_UTIL_H */ diff --git a/include/grpc/support/subprocess.h b/include/grpc/support/subprocess.h index 175f7b50eb..a050c1ba82 100644 --- a/include/grpc/support/subprocess.h +++ b/include/grpc/support/subprocess.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gpr_subprocess gpr_subprocess; @@ -37,8 +35,6 @@ GPRAPI void gpr_subprocess_destroy(gpr_subprocess* p); GPRAPI int gpr_subprocess_join(gpr_subprocess* p); GPRAPI void gpr_subprocess_interrupt(gpr_subprocess* p); -#ifdef __cplusplus -} // extern "C" -#endif + #endif /* GRPC_SUPPORT_SUBPROCESS_H */ diff --git a/include/grpc/support/sync.h b/include/grpc/support/sync.h index 75192673a6..2953e24944 100644 --- a/include/grpc/support/sync.h +++ b/include/grpc/support/sync.h @@ -22,9 +22,7 @@ #include /* for gpr_timespec */ #include -#ifdef __cplusplus -extern "C" { -#endif + /** --- Mutex interface --- @@ -273,9 +271,6 @@ GPRAPI intptr_t gpr_stats_read(const gpr_stats_counter* c); } #endif /* 0 */ -#ifdef __cplusplus -} // extern "C" - namespace grpc_core { class mu_guard { @@ -291,6 +286,5 @@ class mu_guard { }; } // namespace grpc_core -#endif #endif /* GRPC_SUPPORT_SYNC_H */ diff --git a/include/grpc/support/thd.h b/include/grpc/support/thd.h index 225d9d6c75..6d398931be 100644 --- a/include/grpc/support/thd.h +++ b/include/grpc/support/thd.h @@ -29,9 +29,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef uintptr_t gpr_thd_id; @@ -69,8 +67,6 @@ GPRAPI gpr_thd_id gpr_thd_currentid(void); Calling this on a detached thread has unpredictable results. */ GPRAPI void gpr_thd_join(gpr_thd_id t); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_THD_H */ diff --git a/include/grpc/support/time.h b/include/grpc/support/time.h index 62d354aafe..1ed5ee6ae4 100644 --- a/include/grpc/support/time.h +++ b/include/grpc/support/time.h @@ -24,9 +24,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /** Time constants. */ GPRAPI gpr_timespec @@ -83,8 +81,6 @@ GPRAPI void gpr_sleep_until(gpr_timespec until); GPRAPI double gpr_timespec_to_micros(gpr_timespec t); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_TIME_H */ diff --git a/include/grpc/support/tls_pthread.h b/include/grpc/support/tls_pthread.h index fb0edd8e74..5a6ff129e8 100644 --- a/include/grpc/support/tls_pthread.h +++ b/include/grpc/support/tls_pthread.h @@ -34,12 +34,8 @@ struct gpr_pthread_thread_local { #define gpr_tls_init(tls) GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL)) #define gpr_tls_destroy(tls) pthread_key_delete((tls)->key) #define gpr_tls_get(tls) ((intptr_t)pthread_getspecific((tls)->key)) -#ifdef __cplusplus -extern "C" { -#endif + intptr_t gpr_tls_set(struct gpr_pthread_thread_local* tls, intptr_t value); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_SUPPORT_TLS_PTHREAD_H */ diff --git a/src/core/ext/filters/client_channel/client_channel.h b/src/core/ext/filters/client_channel/client_channel.h index 27862cf239..36165172a2 100644 --- a/src/core/ext/filters/client_channel/client_channel.h +++ b/src/core/ext/filters/client_channel/client_channel.h @@ -28,9 +28,7 @@ extern grpc_tracer_flag grpc_client_channel_trace; // Channel arg key for server URI string. #define GRPC_ARG_SERVER_URI "grpc.server_uri" -#ifdef __cplusplus -extern "C" { -#endif + /* A client channel is a channel that begins disconnected, and can connect to some endpoint on demand. If that endpoint disconnects, it will be @@ -56,8 +54,6 @@ void grpc_client_channel_watch_connectivity_state( grpc_subchannel_call* grpc_client_channel_get_subchannel_call( grpc_call_element* elem); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */ diff --git a/src/core/ext/filters/client_channel/client_channel_factory.h b/src/core/ext/filters/client_channel/client_channel_factory.h index db8645cd00..9616e9fad0 100644 --- a/src/core/ext/filters/client_channel/client_channel_factory.h +++ b/src/core/ext/filters/client_channel/client_channel_factory.h @@ -27,9 +27,7 @@ // Channel arg key for client channel factory. #define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_client_channel_factory grpc_client_channel_factory; typedef struct grpc_client_channel_factory_vtable @@ -78,8 +76,6 @@ grpc_channel* grpc_client_channel_factory_create_channel( grpc_arg grpc_client_channel_factory_create_channel_arg( grpc_client_channel_factory* factory); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/client_channel_plugin.cc b/src/core/ext/filters/client_channel/client_channel_plugin.cc index eebef6827c..7b1e642bb8 100644 --- a/src/core/ext/filters/client_channel/client_channel_plugin.cc +++ b/src/core/ext/filters/client_channel/client_channel_plugin.cc @@ -65,7 +65,7 @@ static bool set_default_host_if_unset(grpc_exec_ctx* exec_ctx, return true; } -extern "C" void grpc_client_channel_init(void) { +void grpc_client_channel_init(void) { grpc_lb_policy_registry_init(); grpc_resolver_registry_init(); grpc_retry_throttle_map_init(); @@ -84,7 +84,7 @@ extern "C" void grpc_client_channel_init(void) { #endif } -extern "C" void grpc_client_channel_shutdown(void) { +void grpc_client_channel_shutdown(void) { grpc_subchannel_index_shutdown(); grpc_channel_init_shutdown(); grpc_proxy_mapper_registry_shutdown(); diff --git a/src/core/ext/filters/client_channel/connector.h b/src/core/ext/filters/client_channel/connector.h index 12dc59bcdf..62b943852f 100644 --- a/src/core/ext/filters/client_channel/connector.h +++ b/src/core/ext/filters/client_channel/connector.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_connector grpc_connector; typedef struct grpc_connector_vtable grpc_connector_vtable; @@ -74,8 +72,6 @@ void grpc_connector_connect(grpc_exec_ctx* exec_ctx, grpc_connector* connector, void grpc_connector_shutdown(grpc_exec_ctx* exec_ctx, grpc_connector* connector, grpc_error* why); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */ diff --git a/src/core/ext/filters/client_channel/http_connect_handshaker.h b/src/core/ext/filters/client_channel/http_connect_handshaker.h index 05a23cdba3..c676c2ad55 100644 --- a/src/core/ext/filters/client_channel/http_connect_handshaker.h +++ b/src/core/ext/filters/client_channel/http_connect_handshaker.h @@ -28,15 +28,11 @@ /// seperated by colons. #define GRPC_ARG_HTTP_CONNECT_HEADERS "grpc.http_connect_headers" -#ifdef __cplusplus -extern "C" { -#endif + /// Registers handshaker factory. void grpc_http_connect_register_handshaker_factory(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */ diff --git a/src/core/ext/filters/client_channel/http_proxy.h b/src/core/ext/filters/client_channel/http_proxy.h index bdad03def3..894f548273 100644 --- a/src/core/ext/filters/client_channel/http_proxy.h +++ b/src/core/ext/filters/client_channel/http_proxy.h @@ -19,14 +19,10 @@ #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H -#ifdef __cplusplus -extern "C" { -#endif + void grpc_register_http_proxy_mapper(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy.h b/src/core/ext/filters/client_channel/lb_policy.h index 590094e67e..7c1f1942ef 100644 --- a/src/core/ext/filters/client_channel/lb_policy.h +++ b/src/core/ext/filters/client_channel/lb_policy.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/transport/connectivity_state.h" -#ifdef __cplusplus -extern "C" { -#endif + /** A load balancing policy: specified by a vtable and a struct (which is expected to be extended to contain some parameters) */ @@ -208,8 +206,6 @@ void grpc_lb_policy_update_locked(grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy, const grpc_lb_policy_args* lb_policy_args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h index abf613a23b..b6cbd1b3c4 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h @@ -21,15 +21,11 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_client_load_reporting_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index ad9a2bb83b..98f85ae52e 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -2001,7 +2001,7 @@ static bool maybe_add_client_load_reporting_filter( return true; } -extern "C" void grpc_lb_policy_grpclb_init() { +void grpc_lb_policy_grpclb_init() { grpc_register_lb_policy(grpc_glb_lb_factory_create()); grpc_register_tracer(&grpc_lb_glb_trace); #ifndef NDEBUG @@ -2013,4 +2013,4 @@ extern "C" void grpc_lb_policy_grpclb_init() { (void*)&grpc_client_load_reporting_filter); } -extern "C" void grpc_lb_policy_grpclb_shutdown() {} +void grpc_lb_policy_grpclb_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h index b6135a4768..1489594516 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h @@ -21,17 +21,13 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Returns a load balancing factory for the glb policy, which tries to connect * to a load balancing server to decide the next successfully connected * subchannel to pick. */ grpc_lb_policy_factory* grpc_glb_lb_factory_create(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h index 39cbf53428..4bc8d71a39 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h @@ -23,9 +23,7 @@ #include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" #include "src/core/lib/slice/slice_hash_table.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Create the channel used for communicating with an LB service. * Note that an LB *service* may be comprised of several LB *servers*. @@ -44,9 +42,7 @@ grpc_channel_args* grpc_lb_policy_grpclb_build_lb_channel_args( grpc_fake_resolver_response_generator* response_generator, const grpc_channel_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CHANNEL_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h index ce88cf9ee4..54eaa3e5c7 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h @@ -23,9 +23,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_grpclb_client_stats grpc_grpclb_client_stats; @@ -65,9 +63,7 @@ void grpc_grpclb_client_stats_get_locked( void grpc_grpclb_dropped_call_counts_destroy( grpc_grpclb_dropped_call_counts* drop_entries); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h index 138012c63a..d0e632b10e 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h @@ -25,9 +25,7 @@ #include "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" #include "src/core/ext/filters/client_channel/lb_policy_factory.h" -#ifdef __cplusplus -extern "C" { -#endif + #define GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH 128 @@ -87,9 +85,7 @@ grpc_millis grpc_grpclb_duration_to_millis(grpc_grpclb_duration* duration_pb); void grpc_grpclb_initial_response_destroy( grpc_grpclb_initial_response* response); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc index dbd4754e87..4e249207fa 100644 --- a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +++ b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc @@ -593,9 +593,9 @@ static grpc_lb_policy_factory* pick_first_lb_factory_create() { /* Plugin registration */ -extern "C" void grpc_lb_policy_pick_first_init() { +void grpc_lb_policy_pick_first_init() { grpc_register_lb_policy(pick_first_lb_factory_create()); grpc_register_tracer(&grpc_lb_pick_first_trace); } -extern "C" void grpc_lb_policy_pick_first_shutdown() {} +void grpc_lb_policy_pick_first_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc index 6ea1f025df..359aa0e825 100644 --- a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +++ b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc @@ -689,9 +689,9 @@ static grpc_lb_policy_factory* round_robin_lb_factory_create() { /* Plugin registration */ -extern "C" void grpc_lb_policy_round_robin_init() { +void grpc_lb_policy_round_robin_init() { grpc_register_lb_policy(round_robin_lb_factory_create()); grpc_register_tracer(&grpc_lb_round_robin_trace); } -extern "C" void grpc_lb_policy_round_robin_shutdown() {} +void grpc_lb_policy_round_robin_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h index e18ad490e8..f3db9b15fc 100644 --- a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +++ b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h @@ -36,9 +36,7 @@ // round_robin that could be refactored and moved here. In a future PR, // need to clean this up. -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_lb_subchannel_list grpc_lb_subchannel_list; @@ -146,8 +144,6 @@ void grpc_lb_subchannel_list_shutdown_and_unref( grpc_exec_ctx* exec_ctx, grpc_lb_subchannel_list* subchannel_list, const char* reason); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_SUBCHANNEL_LIST_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy_factory.h b/src/core/ext/filters/client_channel/lb_policy_factory.h index 360a42b177..79c771221d 100644 --- a/src/core/ext/filters/client_channel/lb_policy_factory.h +++ b/src/core/ext/filters/client_channel/lb_policy_factory.h @@ -29,9 +29,7 @@ // Channel arg key for grpc_lb_addresses. #define GRPC_ARG_LB_ADDRESSES "grpc.lb_addresses" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_lb_policy_factory grpc_lb_policy_factory; typedef struct grpc_lb_policy_factory_vtable grpc_lb_policy_factory_vtable; @@ -134,8 +132,6 @@ grpc_lb_policy* grpc_lb_policy_factory_create_lb_policy( grpc_exec_ctx* exec_ctx, grpc_lb_policy_factory* factory, grpc_lb_policy_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy_registry.h b/src/core/ext/filters/client_channel/lb_policy_registry.h index 055f751b57..de089a8fc8 100644 --- a/src/core/ext/filters/client_channel/lb_policy_registry.h +++ b/src/core/ext/filters/client_channel/lb_policy_registry.h @@ -22,9 +22,7 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Initialize the registry and set \a default_factory as the factory to be * returned when no name is provided in a lookup */ @@ -41,8 +39,6 @@ void grpc_register_lb_policy(grpc_lb_policy_factory* factory); grpc_lb_policy* grpc_lb_policy_create(grpc_exec_ctx* exec_ctx, const char* name, grpc_lb_policy_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/parse_address.h b/src/core/ext/filters/client_channel/parse_address.h index b45859f9a2..825cd12393 100644 --- a/src/core/ext/filters/client_channel/parse_address.h +++ b/src/core/ext/filters/client_channel/parse_address.h @@ -24,9 +24,7 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Populate \a resolved_addr from \a uri, whose path is expected to contain a * unix socket path. Returns true upon success. */ @@ -49,8 +47,6 @@ bool grpc_parse_ipv4_hostport(const char* hostport, grpc_resolved_address* addr, bool grpc_parse_ipv6_hostport(const char* hostport, grpc_resolved_address* addr, bool log_errors); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PARSE_ADDRESS_H */ diff --git a/src/core/ext/filters/client_channel/proxy_mapper.h b/src/core/ext/filters/client_channel/proxy_mapper.h index bb8259f854..81ecfb71bb 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper.h +++ b/src/core/ext/filters/client_channel/proxy_mapper.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_proxy_mapper grpc_proxy_mapper; @@ -75,8 +73,6 @@ bool grpc_proxy_mapper_map_address(grpc_exec_ctx* exec_ctx, void grpc_proxy_mapper_destroy(grpc_proxy_mapper* mapper); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H */ diff --git a/src/core/ext/filters/client_channel/proxy_mapper_registry.h b/src/core/ext/filters/client_channel/proxy_mapper_registry.h index 39c607cefc..f17fdd89df 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper_registry.h +++ b/src/core/ext/filters/client_channel/proxy_mapper_registry.h @@ -21,9 +21,7 @@ #include "src/core/ext/filters/client_channel/proxy_mapper.h" -#ifdef __cplusplus -extern "C" { -#endif + void grpc_proxy_mapper_registry_init(); void grpc_proxy_mapper_registry_shutdown(); @@ -45,8 +43,6 @@ bool grpc_proxy_mappers_map_address(grpc_exec_ctx* exec_ctx, grpc_resolved_address** new_address, grpc_channel_args** new_args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/resolver.h b/src/core/ext/filters/client_channel/resolver.h index a0eb0bcfdf..ac95666240 100644 --- a/src/core/ext/filters/client_channel/resolver.h +++ b/src/core/ext/filters/client_channel/resolver.h @@ -22,9 +22,7 @@ #include "src/core/ext/filters/client_channel/subchannel.h" #include "src/core/lib/iomgr/iomgr.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_resolver grpc_resolver; typedef struct grpc_resolver_vtable grpc_resolver_vtable; @@ -91,8 +89,6 @@ void grpc_resolver_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver, grpc_channel_args** result, grpc_closure* on_complete); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_H */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc index 07737b19d2..3a16b3492d 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc @@ -425,7 +425,7 @@ static grpc_resolver_factory* dns_ares_resolver_factory_create() { return &dns_resolver_factory; } -extern "C" void grpc_resolver_dns_ares_init(void) { +void grpc_resolver_dns_ares_init(void) { char* resolver = gpr_getenv("GRPC_DNS_RESOLVER"); /* TODO(zyc): Turn on c-ares based resolver by default after the address sorter and the CNAME support are added. */ @@ -441,7 +441,7 @@ extern "C" void grpc_resolver_dns_ares_init(void) { gpr_free(resolver); } -extern "C" void grpc_resolver_dns_ares_shutdown(void) { +void grpc_resolver_dns_ares_shutdown(void) { char* resolver = gpr_getenv("GRPC_DNS_RESOLVER"); if (resolver != nullptr && gpr_stricmp(resolver, "ares") == 0) { grpc_ares_cleanup(); @@ -451,8 +451,8 @@ extern "C" void grpc_resolver_dns_ares_shutdown(void) { #else /* GRPC_ARES == 1 && !defined(GRPC_UV) */ -extern "C" void grpc_resolver_dns_ares_init(void) {} +void grpc_resolver_dns_ares_init(void) {} -extern "C" void grpc_resolver_dns_ares_shutdown(void) {} +void grpc_resolver_dns_ares_shutdown(void) {} #endif /* GRPC_ARES == 1 && !defined(GRPC_UV) */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h index 0062aa561a..54e04f7aeb 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/pollset_set.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_ares_ev_driver grpc_ares_ev_driver; @@ -54,9 +52,7 @@ void grpc_ares_ev_driver_destroy(grpc_ares_ev_driver* ev_driver); void grpc_ares_ev_driver_shutdown(grpc_exec_ctx* exec_ctx, grpc_ares_ev_driver* ev_driver); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h index 6882b7b1d1..8c6499f8f8 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_ares_request grpc_ares_request; @@ -69,9 +67,7 @@ grpc_error* grpc_ares_init(void); it has been called the same number of times as grpc_ares_init(). */ void grpc_ares_cleanup(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc index 589c74807f..fc40ce6966 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc @@ -295,7 +295,7 @@ static grpc_resolver_factory* dns_resolver_factory_create() { return &dns_resolver_factory; } -extern "C" void grpc_resolver_dns_native_init(void) { +void grpc_resolver_dns_native_init(void) { char* resolver = gpr_getenv("GRPC_DNS_RESOLVER"); if (resolver != nullptr && gpr_stricmp(resolver, "native") == 0) { gpr_log(GPR_DEBUG, "Using native dns resolver"); @@ -313,4 +313,4 @@ extern "C" void grpc_resolver_dns_native_init(void) { gpr_free(resolver); } -extern "C" void grpc_resolver_dns_native_shutdown(void) {} +void grpc_resolver_dns_native_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc index 85d7090144..44798ca434 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc @@ -258,8 +258,8 @@ static const grpc_resolver_factory_vtable fake_resolver_factory_vtable = { static grpc_resolver_factory fake_resolver_factory = { &fake_resolver_factory_vtable}; -extern "C" void grpc_resolver_fake_init(void) { +void grpc_resolver_fake_init(void) { grpc_register_resolver_type(&fake_resolver_factory); } -extern "C" void grpc_resolver_fake_shutdown(void) {} +void grpc_resolver_fake_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h index 3f341fa8ed..c56c34b59c 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h @@ -21,9 +21,7 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/channel/channel_args.h" -#ifdef __cplusplus -extern "C" { -#endif + #define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR \ "grpc.fake_resolver.response_generator" @@ -60,9 +58,7 @@ grpc_fake_resolver_response_generator_ref( void grpc_fake_resolver_response_generator_unref( grpc_fake_resolver_response_generator* generator); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FAKE_FAKE_RESOLVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc b/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc index 1da8ab9161..f0934b5943 100644 --- a/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc @@ -211,7 +211,7 @@ DECL_FACTORY(unix); DECL_FACTORY(ipv4); DECL_FACTORY(ipv6); -extern "C" void grpc_resolver_sockaddr_init(void) { +void grpc_resolver_sockaddr_init(void) { grpc_register_resolver_type(&ipv4_resolver_factory); grpc_register_resolver_type(&ipv6_resolver_factory); #ifdef GRPC_HAVE_UNIX_SOCKET @@ -219,4 +219,4 @@ extern "C" void grpc_resolver_sockaddr_init(void) { #endif } -extern "C" void grpc_resolver_sockaddr_shutdown(void) {} +void grpc_resolver_sockaddr_shutdown(void) {} diff --git a/src/core/ext/filters/client_channel/resolver_factory.h b/src/core/ext/filters/client_channel/resolver_factory.h index 62555a4f01..8bba90d0ac 100644 --- a/src/core/ext/filters/client_channel/resolver_factory.h +++ b/src/core/ext/filters/client_channel/resolver_factory.h @@ -24,9 +24,7 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/pollset_set.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_resolver_factory grpc_resolver_factory; typedef struct grpc_resolver_factory_vtable grpc_resolver_factory_vtable; @@ -71,8 +69,6 @@ grpc_resolver* grpc_resolver_factory_create_resolver( char* grpc_resolver_factory_get_default_authority( grpc_resolver_factory* factory, grpc_uri* uri); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/resolver_registry.h b/src/core/ext/filters/client_channel/resolver_registry.h index 01a2d0b18b..6f7f8945c3 100644 --- a/src/core/ext/filters/client_channel/resolver_registry.h +++ b/src/core/ext/filters/client_channel/resolver_registry.h @@ -22,9 +22,7 @@ #include "src/core/ext/filters/client_channel/resolver_factory.h" #include "src/core/lib/iomgr/pollset_set.h" -#ifdef __cplusplus -extern "C" { -#endif + void grpc_resolver_registry_init(); void grpc_resolver_registry_shutdown(void); @@ -70,8 +68,6 @@ char* grpc_get_default_authority(grpc_exec_ctx* exec_ctx, const char* target); char* grpc_resolver_factory_add_default_prefix_if_needed( grpc_exec_ctx* exec_ctx, const char* target); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/retry_throttle.h b/src/core/ext/filters/client_channel/retry_throttle.h index 399383df78..305dd1ca5d 100644 --- a/src/core/ext/filters/client_channel/retry_throttle.h +++ b/src/core/ext/filters/client_channel/retry_throttle.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /// Tracks retry throttling data for an individual server name. typedef struct grpc_server_retry_throttle_data grpc_server_retry_throttle_data; @@ -51,8 +49,6 @@ void grpc_retry_throttle_map_shutdown(); grpc_server_retry_throttle_data* grpc_retry_throttle_map_get_data_for_server( const char* server_name, int max_milli_tokens, int milli_token_ratio); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H */ diff --git a/src/core/ext/filters/client_channel/subchannel.h b/src/core/ext/filters/client_channel/subchannel.h index 970f182ff0..44491c3cde 100644 --- a/src/core/ext/filters/client_channel/subchannel.h +++ b/src/core/ext/filters/client_channel/subchannel.h @@ -26,9 +26,7 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + // Channel arg containing a grpc_resolved_address to connect to. #define GRPC_ARG_SUBCHANNEL_ADDRESS "grpc.subchannel_address" @@ -192,8 +190,6 @@ const char* grpc_get_subchannel_address_uri_arg(const grpc_channel_args* args); /// Caller is responsible for freeing the string. grpc_arg grpc_create_subchannel_address_arg(const grpc_resolved_address* addr); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H */ diff --git a/src/core/ext/filters/client_channel/subchannel_index.h b/src/core/ext/filters/client_channel/subchannel_index.h index 47f9c7bb1e..23ba7e210f 100644 --- a/src/core/ext/filters/client_channel/subchannel_index.h +++ b/src/core/ext/filters/client_channel/subchannel_index.h @@ -21,9 +21,7 @@ #include "src/core/ext/filters/client_channel/subchannel.h" -#ifdef __cplusplus -extern "C" { -#endif + /** \file Provides an index of active subchannels so that they can be shared amongst channels */ @@ -82,8 +80,6 @@ void grpc_subchannel_index_unref(void); * force_creation set. */ void grpc_subchannel_index_test_only_set_force_creation(bool force_creation); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INDEX_H */ diff --git a/src/core/ext/filters/client_channel/uri_parser.h b/src/core/ext/filters/client_channel/uri_parser.h index cd877ade8d..3bf4c19654 100644 --- a/src/core/ext/filters/client_channel/uri_parser.h +++ b/src/core/ext/filters/client_channel/uri_parser.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { char* scheme; @@ -51,8 +49,6 @@ const char* grpc_uri_get_query_arg(const grpc_uri* uri, const char* key); /** destroy a uri */ void grpc_uri_destroy(grpc_uri* uri); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */ diff --git a/src/core/ext/filters/deadline/deadline_filter.cc b/src/core/ext/filters/deadline/deadline_filter.cc index 849ce7153e..5db7584a59 100644 --- a/src/core/ext/filters/deadline/deadline_filter.cc +++ b/src/core/ext/filters/deadline/deadline_filter.cc @@ -382,7 +382,7 @@ static bool maybe_add_deadline_filter(grpc_exec_ctx* exec_ctx, : true; } -extern "C" void grpc_deadline_filter_init(void) { +void grpc_deadline_filter_init(void) { grpc_channel_init_register_stage( GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_deadline_filter, (void*)&grpc_client_deadline_filter); @@ -391,4 +391,4 @@ extern "C" void grpc_deadline_filter_init(void) { maybe_add_deadline_filter, (void*)&grpc_server_deadline_filter); } -extern "C" void grpc_deadline_filter_shutdown(void) {} +void grpc_deadline_filter_shutdown(void) {} diff --git a/src/core/ext/filters/deadline/deadline_filter.h b/src/core/ext/filters/deadline/deadline_filter.h index e665dc53ee..6be9015ab9 100644 --- a/src/core/ext/filters/deadline/deadline_filter.h +++ b/src/core/ext/filters/deadline/deadline_filter.h @@ -20,9 +20,7 @@ #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/iomgr/timer.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum grpc_deadline_timer_state { GRPC_DEADLINE_STATE_INITIAL, @@ -94,8 +92,6 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* args); extern const grpc_channel_filter grpc_client_deadline_filter; extern const grpc_channel_filter grpc_server_deadline_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */ diff --git a/src/core/ext/filters/http/client/http_client_filter.h b/src/core/ext/filters/http/client/http_client_filter.h index 9ed8e76915..1237c0a3de 100644 --- a/src/core/ext/filters/http/client/http_client_filter.h +++ b/src/core/ext/filters/http/client/http_client_filter.h @@ -20,9 +20,7 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_client_filter; @@ -30,8 +28,6 @@ extern const grpc_channel_filter grpc_http_client_filter; /* Channel arg to determine maximum size of payload eligable for GET request */ #define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get" -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_CLIENT_HTTP_CLIENT_FILTER_H */ diff --git a/src/core/ext/filters/http/http_filters_plugin.cc b/src/core/ext/filters/http/http_filters_plugin.cc index 69dbde409c..61d73edfc0 100644 --- a/src/core/ext/filters/http/http_filters_plugin.cc +++ b/src/core/ext/filters/http/http_filters_plugin.cc @@ -64,7 +64,7 @@ static bool maybe_add_required_filter(grpc_exec_ctx* exec_ctx, : true; } -extern "C" void grpc_http_filters_init(void) { +void grpc_http_filters_init(void) { grpc_register_tracer(&grpc_compression_trace); grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, @@ -86,4 +86,4 @@ extern "C" void grpc_http_filters_init(void) { maybe_add_required_filter, (void*)&grpc_http_server_filter); } -extern "C" void grpc_http_filters_shutdown(void) {} +void grpc_http_filters_shutdown(void) {} diff --git a/src/core/ext/filters/http/message_compress/message_compress_filter.h b/src/core/ext/filters/http/message_compress/message_compress_filter.h index 79a2815655..c76682f5b5 100644 --- a/src/core/ext/filters/http/message_compress/message_compress_filter.h +++ b/src/core/ext/filters/http/message_compress/message_compress_filter.h @@ -23,9 +23,7 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Compression filter for outgoing data. * @@ -51,9 +49,7 @@ extern "C" { extern const grpc_channel_filter grpc_message_compress_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_COMPRESS_FILTER_H \ */ diff --git a/src/core/ext/filters/http/server/http_server_filter.h b/src/core/ext/filters/http/server/http_server_filter.h index 4b38cc5bf7..2d724def18 100644 --- a/src/core/ext/filters/http/server/http_server_filter.h +++ b/src/core/ext/filters/http/server/http_server_filter.h @@ -21,15 +21,11 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_server_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_HTTP_SERVER_HTTP_SERVER_FILTER_H */ diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h index 356f8b8e66..00e8e4c37f 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h @@ -22,15 +22,11 @@ #include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h" #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_server_load_reporting_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc index ab8387967c..accb7797dd 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +++ b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc @@ -61,10 +61,10 @@ grpc_arg grpc_load_reporting_enable_arg() { /* Plugin registration */ -extern "C" void grpc_server_load_reporting_plugin_init(void) { +void grpc_server_load_reporting_plugin_init(void) { grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, maybe_add_server_load_reporting_filter, (void*)&grpc_server_load_reporting_filter); } -extern "C" void grpc_server_load_reporting_plugin_shutdown() {} +void grpc_server_load_reporting_plugin_shutdown() {} diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h index a6448ce97e..af2bbfcc09 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h @@ -23,9 +23,7 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Identifiers for the invocation point of the users LR callback */ typedef enum grpc_load_reporting_source { @@ -59,9 +57,7 @@ typedef struct grpc_load_reporting_call_data { /** Return a \a grpc_arg enabling load reporting */ grpc_arg grpc_load_reporting_enable_arg(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_PLUGIN_H \ */ diff --git a/src/core/ext/filters/max_age/max_age_filter.cc b/src/core/ext/filters/max_age/max_age_filter.cc index 001f9f3906..89c17ae501 100644 --- a/src/core/ext/filters/max_age/max_age_filter.cc +++ b/src/core/ext/filters/max_age/max_age_filter.cc @@ -404,10 +404,10 @@ static bool maybe_add_max_age_filter(grpc_exec_ctx* exec_ctx, } } -extern "C" void grpc_max_age_filter_init(void) { +void grpc_max_age_filter_init(void) { grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_max_age_filter, nullptr); } -extern "C" void grpc_max_age_filter_shutdown(void) {} +void grpc_max_age_filter_shutdown(void) {} diff --git a/src/core/ext/filters/max_age/max_age_filter.h b/src/core/ext/filters/max_age/max_age_filter.h index eeeefd695e..e088598277 100644 --- a/src/core/ext/filters/max_age/max_age_filter.h +++ b/src/core/ext/filters/max_age/max_age_filter.h @@ -19,14 +19,10 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_max_age_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_MAX_AGE_MAX_AGE_FILTER_H */ diff --git a/src/core/ext/filters/message_size/message_size_filter.cc b/src/core/ext/filters/message_size/message_size_filter.cc index 2e81d09961..3d2252af2e 100644 --- a/src/core/ext/filters/message_size/message_size_filter.cc +++ b/src/core/ext/filters/message_size/message_size_filter.cc @@ -310,7 +310,7 @@ static bool maybe_add_message_size_filter(grpc_exec_ctx* exec_ctx, } } -extern "C" void grpc_message_size_filter_init(void) { +void grpc_message_size_filter_init(void) { grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_message_size_filter, nullptr); @@ -322,4 +322,4 @@ extern "C" void grpc_message_size_filter_init(void) { maybe_add_message_size_filter, nullptr); } -extern "C" void grpc_message_size_filter_shutdown(void) {} +void grpc_message_size_filter_shutdown(void) {} diff --git a/src/core/ext/filters/message_size/message_size_filter.h b/src/core/ext/filters/message_size/message_size_filter.h index da325d6f89..7c170fa7e1 100644 --- a/src/core/ext/filters/message_size/message_size_filter.h +++ b/src/core/ext/filters/message_size/message_size_filter.h @@ -19,14 +19,10 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_message_size_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_MESSAGE_SIZE_MESSAGE_SIZE_FILTER_H */ diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc index 6bbb4d5739..f26cac26a4 100644 --- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc @@ -196,7 +196,7 @@ static bool register_workaround_cronet_compression( builder, &grpc_workaround_cronet_compression_filter, nullptr, nullptr); } -extern "C" void grpc_workaround_cronet_compression_filter_init(void) { +void grpc_workaround_cronet_compression_filter_init(void) { grpc_channel_init_register_stage( GRPC_SERVER_CHANNEL, GRPC_WORKAROUND_PRIORITY_HIGH, register_workaround_cronet_compression, nullptr); @@ -204,4 +204,4 @@ extern "C" void grpc_workaround_cronet_compression_filter_init(void) { parse_user_agent); } -extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void) {} +void grpc_workaround_cronet_compression_filter_shutdown(void) {} diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h index c8b07df63e..38a88cb631 100644 --- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h @@ -19,15 +19,11 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_workaround_cronet_compression_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H \ */ diff --git a/src/core/ext/filters/workarounds/workaround_utils.h b/src/core/ext/filters/workarounds/workaround_utils.h index a954ad4001..4267b486c1 100644 --- a/src/core/ext/filters/workarounds/workaround_utils.h +++ b/src/core/ext/filters/workarounds/workaround_utils.h @@ -24,9 +24,7 @@ #define GRPC_WORKAROUND_PRIORITY_HIGH 10001 #define GRPC_WORKAROUND_PROIRITY_LOW 9999 -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_workaround_user_agent_md { bool workaround_active[GRPC_MAX_WORKAROUND_ID]; @@ -38,8 +36,6 @@ typedef bool (*user_agent_parser)(grpc_mdelem); void grpc_register_workaround(uint32_t id, user_agent_parser parser); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_UTILS_H */ diff --git a/src/core/ext/transport/chttp2/alpn/alpn.h b/src/core/ext/transport/chttp2/alpn/alpn.h index 4a420e83e0..8f13ebdfc2 100644 --- a/src/core/ext/transport/chttp2/alpn/alpn.h +++ b/src/core/ext/transport/chttp2/alpn/alpn.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Retuns 1 if the version is supported, 0 otherwise. */ int grpc_chttp2_is_alpn_version_supported(const char* version, size_t size); @@ -35,8 +33,6 @@ size_t grpc_chttp2_num_alpn_versions(void); * grpc_chttp2_num_alpn_versions()) */ const char* grpc_chttp2_get_alpn_version_index(size_t i); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H */ diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.h b/src/core/ext/transport/chttp2/client/chttp2_connector.h index 63f264e0ef..dc8f26cc0a 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.h +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.h @@ -19,16 +19,12 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H -#ifdef __cplusplus -extern "C" { -#endif + #include "src/core/ext/filters/client_channel/connector.h" grpc_connector* grpc_chttp2_connector_create(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H */ diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.h b/src/core/ext/transport/chttp2/server/chttp2_server.h index 4e0e7aa617..ed798d243d 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.h +++ b/src/core/ext/transport/chttp2/server/chttp2_server.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + /// Adds a port to \a server. Sets \a port_num to the port number. /// Takes ownership of \a args. @@ -33,8 +31,6 @@ grpc_error* grpc_chttp2_server_add_port(grpc_exec_ctx* exec_ctx, grpc_server* server, const char* addr, grpc_channel_args* args, int* port_num); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_SERVER_CHTTP2_SERVER_H */ diff --git a/src/core/ext/transport/chttp2/transport/bin_decoder.h b/src/core/ext/transport/chttp2/transport/bin_decoder.h index a9c4c9a0f6..33cff85835 100644 --- a/src/core/ext/transport/chttp2/transport/bin_decoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_decoder.h @@ -22,9 +22,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + struct grpc_base64_decode_context { /* input/output: */ @@ -53,8 +51,6 @@ grpc_slice grpc_chttp2_base64_decode_with_length(grpc_exec_ctx* exec_ctx, grpc_slice input, size_t output_length); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_DECODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.h b/src/core/ext/transport/chttp2/transport/bin_encoder.h index 0be3633354..620a6e50d8 100644 --- a/src/core/ext/transport/chttp2/transport/bin_encoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_encoder.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* base64 encode a slice. Returns a new slice, does not take ownership of the input */ @@ -40,8 +38,6 @@ grpc_slice grpc_chttp2_huffman_compress(grpc_slice input); return y; */ grpc_slice grpc_chttp2_base64_encode_and_huffman_compress(grpc_slice input); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc b/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc index ac9ae5c395..6d09953830 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc @@ -20,7 +20,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/metadata.h" -extern "C" void grpc_chttp2_plugin_init(void) { +void grpc_chttp2_plugin_init(void) { grpc_register_tracer(&grpc_http_trace); grpc_register_tracer(&grpc_flowctl_trace); grpc_register_tracer(&grpc_trace_http2_stream_state); @@ -29,4 +29,4 @@ extern "C" void grpc_chttp2_plugin_init(void) { #endif } -extern "C" void grpc_chttp2_plugin_shutdown(void) {} +void grpc_chttp2_plugin_shutdown(void) {} diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.h b/src/core/ext/transport/chttp2/transport/chttp2_transport.h index 972104f62c..2b2c82af4d 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.h +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + extern grpc_tracer_flag grpc_http_trace; extern grpc_tracer_flag grpc_flowctl_trace; @@ -45,8 +43,6 @@ void grpc_chttp2_transport_start_reading(grpc_exec_ctx* exec_ctx, grpc_transport* transport, grpc_slice_buffer* read_buffer); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_CHTTP2_TRANSPORT_H */ diff --git a/src/core/ext/transport/chttp2/transport/flow_control.h b/src/core/ext/transport/chttp2/transport/flow_control.h index 7dd348ed5f..46d00a1032 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.h +++ b/src/core/ext/transport/chttp2/transport/flow_control.h @@ -30,7 +30,7 @@ struct grpc_chttp2_transport; struct grpc_chttp2_stream; -extern "C" grpc_tracer_flag grpc_flowctl_trace; +extern grpc_tracer_flag grpc_flowctl_trace; namespace grpc { namespace testing { diff --git a/src/core/ext/transport/chttp2/transport/frame.h b/src/core/ext/transport/chttp2/transport/frame.h index e7debdad79..404ee2fee4 100644 --- a/src/core/ext/transport/chttp2/transport/frame.h +++ b/src/core/ext/transport/chttp2/transport/frame.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/error.h" -#ifdef __cplusplus -extern "C" { -#endif + /* defined in internal.h */ typedef struct grpc_chttp2_stream grpc_chttp2_stream; @@ -47,8 +45,6 @@ typedef struct grpc_chttp2_transport grpc_chttp2_transport; #define GRPC_CHTTP2_DATA_FLAG_PADDED 8 #define GRPC_CHTTP2_FLAG_HAS_PRIORITY 0x20 -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_data.h b/src/core/ext/transport/chttp2/transport/frame_data.h index 96f823a0ad..217927799a 100644 --- a/src/core/ext/transport/chttp2/transport/frame_data.h +++ b/src/core/ext/transport/chttp2/transport/frame_data.h @@ -28,9 +28,7 @@ #include "src/core/lib/transport/byte_stream.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_CHTTP2_DATA_FH_0, @@ -84,8 +82,6 @@ grpc_error* grpc_deframe_unprocessed_incoming_frames( grpc_slice_buffer* slices, grpc_slice* slice_out, grpc_byte_stream** stream_out); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_DATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.h b/src/core/ext/transport/chttp2/transport/frame_goaway.h index 9790d0b08d..b3c910f5ea 100644 --- a/src/core/ext/transport/chttp2/transport/frame_goaway.h +++ b/src/core/ext/transport/chttp2/transport/frame_goaway.h @@ -25,9 +25,7 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_CHTTP2_GOAWAY_LSI0, @@ -64,8 +62,6 @@ void grpc_chttp2_goaway_append(uint32_t last_stream_id, uint32_t error_code, grpc_slice debug_data, grpc_slice_buffer* slice_buffer); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_GOAWAY_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.h b/src/core/ext/transport/chttp2/transport/frame_ping.h index 034aad002e..0767182e09 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.h +++ b/src/core/ext/transport/chttp2/transport/frame_ping.h @@ -23,9 +23,7 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { uint8_t byte; @@ -45,8 +43,6 @@ grpc_error* grpc_chttp2_ping_parser_parse(grpc_exec_ctx* exec_ctx, void* parser, /* Test-only function for disabling ping ack */ void grpc_set_disable_ping_ack(bool disable_ping_ack); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_PING_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h index 3f5417e993..dd98c04b6a 100644 --- a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +++ b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { uint8_t byte; @@ -44,8 +42,6 @@ grpc_error* grpc_chttp2_rst_stream_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_RST_STREAM_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.h b/src/core/ext/transport/chttp2/transport/frame_settings.h index 18bde92815..52b4ef1924 100644 --- a/src/core/ext/transport/chttp2/transport/frame_settings.h +++ b/src/core/ext/transport/chttp2/transport/frame_settings.h @@ -25,9 +25,7 @@ #include "src/core/ext/transport/chttp2/transport/http2_settings.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_CHTTP2_SPS_ID0, @@ -62,8 +60,6 @@ grpc_error* grpc_chttp2_settings_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SETTINGS_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.h b/src/core/ext/transport/chttp2/transport/frame_window_update.h index daf7d2da6b..1b7e061c8b 100644 --- a/src/core/ext/transport/chttp2/transport/frame_window_update.h +++ b/src/core/ext/transport/chttp2/transport/frame_window_update.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { uint8_t byte; @@ -43,8 +41,6 @@ grpc_error* grpc_chttp2_window_update_parser_parse( grpc_exec_ctx* exec_ctx, void* parser, grpc_chttp2_transport* t, grpc_chttp2_stream* s, grpc_slice slice, int is_last); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_WINDOW_UPDATE_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.h b/src/core/ext/transport/chttp2/transport/hpack_encoder.h index fd01d1621a..0e11f99fd0 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.h +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.h @@ -34,9 +34,7 @@ /* maximum table size we'll actually use */ #define GRPC_CHTTP2_HPACKC_MAX_TABLE_SIZE (1024 * 1024) -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { uint32_t filter_elems_sum; @@ -95,8 +93,6 @@ void grpc_chttp2_encode_header(grpc_exec_ctx* exec_ctx, const grpc_encode_header_options* options, grpc_slice_buffer* outbuf); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.h b/src/core/ext/transport/chttp2/transport/hpack_parser.h index 838c482e4a..452165e8d0 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_parser.h +++ b/src/core/ext/transport/chttp2/transport/hpack_parser.h @@ -27,9 +27,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_chttp2_hpack_parser grpc_chttp2_hpack_parser; @@ -115,8 +113,6 @@ grpc_error* grpc_chttp2_header_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_PARSER_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.h b/src/core/ext/transport/chttp2/transport/hpack_table.h index ddc8888f86..0e41dbeea5 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.h +++ b/src/core/ext/transport/chttp2/transport/hpack_table.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/lib/transport/metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + /* HPACK header table */ @@ -98,8 +96,6 @@ typedef struct { grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find( const grpc_chttp2_hptbl* tbl, grpc_mdelem md); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_TABLE_H */ diff --git a/src/core/ext/transport/chttp2/transport/http2_settings.h b/src/core/ext/transport/chttp2/transport/http2_settings.h index 86069b498b..baac528c9a 100644 --- a/src/core/ext/transport/chttp2/transport/http2_settings.h +++ b/src/core/ext/transport/chttp2/transport/http2_settings.h @@ -36,9 +36,7 @@ typedef enum { #define GRPC_CHTTP2_NUM_SETTINGS 7 -#ifdef __cplusplus -extern "C" { -#endif + extern const uint16_t grpc_setting_id_to_wire_id[]; bool grpc_wire_id_to_setting_id(uint32_t wire_id, grpc_chttp2_setting_id* out); @@ -60,8 +58,6 @@ typedef struct { extern const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HTTP2_SETTINGS_H */ diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.h b/src/core/ext/transport/chttp2/transport/huffsyms.h index 4002706bc0..7014fb60c4 100644 --- a/src/core/ext/transport/chttp2/transport/huffsyms.h +++ b/src/core/ext/transport/chttp2/transport/huffsyms.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H -#ifdef __cplusplus -extern "C" { -#endif + /* HPACK static huffman table */ @@ -34,8 +32,6 @@ typedef struct { extern const grpc_chttp2_huffsym grpc_chttp2_huffsyms[GRPC_CHTTP2_NUM_HUFFSYMS]; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H */ diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.h b/src/core/ext/transport/chttp2/transport/incoming_metadata.h index 7ccb4a0126..9dbf8987d1 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.h +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.h @@ -21,9 +21,7 @@ #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { gpr_arena* arena; @@ -49,8 +47,6 @@ grpc_error* grpc_chttp2_incoming_metadata_buffer_replace_or_add( void grpc_chttp2_incoming_metadata_buffer_set_deadline( grpc_chttp2_incoming_metadata_buffer* buffer, grpc_millis deadline); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INCOMING_METADATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 60cc280c43..c579b6be6b 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -42,9 +42,7 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/transport_impl.h" -#ifdef __cplusplus -extern "C" { -#endif + /* streams are kept in various linked lists depending on what things need to happen to them... this enum labels each list */ @@ -778,8 +776,6 @@ void grpc_chttp2_fail_pending_writes(grpc_exec_ctx* exec_ctx, void grpc_chttp2_config_default_keepalive_args(grpc_channel_args* args, bool is_client); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INTERNAL_H */ diff --git a/src/core/ext/transport/chttp2/transport/stream_map.h b/src/core/ext/transport/chttp2/transport/stream_map.h index c89d20047c..37b71a3043 100644 --- a/src/core/ext/transport/chttp2/transport/stream_map.h +++ b/src/core/ext/transport/chttp2/transport/stream_map.h @@ -23,9 +23,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Data structure to map a uint32_t to a data object (represented by a void*) @@ -69,8 +67,6 @@ void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map* map, void* value), void* user_data); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H */ diff --git a/src/core/ext/transport/chttp2/transport/varint.h b/src/core/ext/transport/chttp2/transport/varint.h index d3a9d902c4..4da8aa5bd9 100644 --- a/src/core/ext/transport/chttp2/transport/varint.h +++ b/src/core/ext/transport/chttp2/transport/varint.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Helpers for hpack varint encoding */ @@ -61,8 +59,6 @@ void grpc_chttp2_hpack_write_varint_tail(uint32_t tail_value, uint8_t* target, } \ } while (0) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_VARINT_H */ diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.h b/src/core/ext/transport/cronet/transport/cronet_transport.h index 7643fdb585..699818904e 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.h +++ b/src/core/ext/transport/cronet/transport/cronet_transport.h @@ -21,16 +21,12 @@ #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_transport* grpc_create_cronet_transport(void* engine, const char* target, const grpc_channel_args* args, void* reserved); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ diff --git a/src/core/ext/transport/inproc/inproc_plugin.cc b/src/core/ext/transport/inproc/inproc_plugin.cc index 5d8a1c74ab..74451b3234 100644 --- a/src/core/ext/transport/inproc/inproc_plugin.cc +++ b/src/core/ext/transport/inproc/inproc_plugin.cc @@ -21,11 +21,11 @@ grpc_tracer_flag grpc_inproc_trace = GRPC_TRACER_INITIALIZER(false, "inproc"); -extern "C" void grpc_inproc_plugin_init(void) { +void grpc_inproc_plugin_init(void) { grpc_register_tracer(&grpc_inproc_trace); grpc_inproc_transport_init(); } -extern "C" void grpc_inproc_plugin_shutdown(void) { +void grpc_inproc_plugin_shutdown(void) { grpc_inproc_transport_shutdown(); } diff --git a/src/core/ext/transport/inproc/inproc_transport.h b/src/core/ext/transport/inproc/inproc_transport.h index 6e83af3b4c..74cba41afd 100644 --- a/src/core/ext/transport/inproc/inproc_transport.h +++ b/src/core/ext/transport/inproc/inproc_transport.h @@ -21,9 +21,7 @@ #include "src/core/lib/transport/transport_impl.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_channel* grpc_inproc_channel_create(grpc_server* server, grpc_channel_args* args, @@ -34,8 +32,6 @@ extern grpc_tracer_flag grpc_inproc_trace; void grpc_inproc_transport_init(void); void grpc_inproc_transport_shutdown(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_EXT_TRANSPORT_INPROC_INPROC_TRANSPORT_H */ diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index 1067281403..e59c343d59 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { /// const: how long to wait after the first failure before retrying @@ -76,8 +74,6 @@ grpc_backoff_result grpc_backoff_step(grpc_exec_ctx* exec_ctx, /// grpc_backoff_begin. void grpc_backoff_reset(grpc_backoff* backoff); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_BACKOFF_BACKOFF_H */ diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index d36761da57..7f8305dae3 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -23,9 +23,7 @@ #include #include "src/core/lib/iomgr/socket_mutator.h" -#ifdef __cplusplus -extern "C" { -#endif + // Channel args are intentionally immutable, to avoid the need for locking. @@ -153,8 +151,6 @@ grpc_arg grpc_channel_arg_integer_create(char* name, int value); grpc_arg grpc_channel_arg_pointer_create(char* name, void* value, const grpc_arg_pointer_vtable* vtable); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */ diff --git a/src/core/lib/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h index aa993112a0..478a03ee73 100644 --- a/src/core/lib/channel/channel_stack.h +++ b/src/core/lib/channel/channel_stack.h @@ -45,9 +45,7 @@ #include "src/core/lib/support/arena.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_channel_element grpc_channel_element; typedef struct grpc_call_element grpc_call_element; @@ -290,8 +288,6 @@ extern grpc_tracer_flag grpc_trace_channel; #define GRPC_CALL_LOG_OP(sev, elem, op) \ if (GRPC_TRACER_ON(grpc_trace_channel)) grpc_call_log_op(sev, elem, op) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H */ diff --git a/src/core/lib/channel/channel_stack_builder.h b/src/core/lib/channel/channel_stack_builder.h index 23134b7d10..4f5e1dc7d5 100644 --- a/src/core/lib/channel/channel_stack_builder.h +++ b/src/core/lib/channel/channel_stack_builder.h @@ -24,9 +24,7 @@ #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + /// grpc_channel_stack_builder offers a programmatic interface to selected /// and order channel filters @@ -162,8 +160,6 @@ void grpc_channel_stack_builder_destroy(grpc_exec_ctx* exec_ctx, extern grpc_tracer_flag grpc_trace_channel_stack_builder; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H */ diff --git a/src/core/lib/channel/connected_channel.h b/src/core/lib/channel/connected_channel.h index cca19737dc..6807049ea3 100644 --- a/src/core/lib/channel/connected_channel.h +++ b/src/core/lib/channel/connected_channel.h @@ -21,9 +21,7 @@ #include "src/core/lib/channel/channel_stack_builder.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_connected_filter; @@ -34,8 +32,6 @@ bool grpc_add_connected_filter(grpc_exec_ctx* exec_ctx, /* Debug helper to dig the transport stream out of a call element */ grpc_stream* grpc_connected_channel_get_stream(grpc_call_element* elem); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */ diff --git a/src/core/lib/channel/handshaker.h b/src/core/lib/channel/handshaker.h index 8ed38c15ba..6f7b01bc5d 100644 --- a/src/core/lib/channel/handshaker.h +++ b/src/core/lib/channel/handshaker.h @@ -26,9 +26,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/tcp_server.h" -#ifdef __cplusplus -extern "C" { -#endif + /// Handshakers are used to perform initial handshakes on a connection /// before the client sends the initial request. Some examples of what @@ -168,8 +166,6 @@ void grpc_handshake_manager_pending_list_remove(grpc_handshake_manager** head, void grpc_handshake_manager_pending_list_shutdown_all( grpc_exec_ctx* exec_ctx, grpc_handshake_manager* head, grpc_error* why); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_H */ diff --git a/src/core/lib/channel/handshaker_factory.h b/src/core/lib/channel/handshaker_factory.h index 63d9b5af72..79e22c59b2 100644 --- a/src/core/lib/channel/handshaker_factory.h +++ b/src/core/lib/channel/handshaker_factory.h @@ -24,9 +24,7 @@ #include "src/core/lib/channel/handshaker.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + // A handshaker factory is used to create handshakers. @@ -52,8 +50,6 @@ void grpc_handshaker_factory_add_handshakers( void grpc_handshaker_factory_destroy( grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_FACTORY_H */ diff --git a/src/core/lib/channel/handshaker_registry.h b/src/core/lib/channel/handshaker_registry.h index ddd280bea8..5c503ec883 100644 --- a/src/core/lib/channel/handshaker_registry.h +++ b/src/core/lib/channel/handshaker_registry.h @@ -24,9 +24,7 @@ #include "src/core/lib/channel/handshaker_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { HANDSHAKER_CLIENT = 0, @@ -49,8 +47,6 @@ void grpc_handshakers_add(grpc_exec_ctx* exec_ctx, const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_REGISTRY_H */ diff --git a/src/core/lib/compression/algorithm_metadata.h b/src/core/lib/compression/algorithm_metadata.h index 17caf58f69..7e32fe1437 100644 --- a/src/core/lib/compression/algorithm_metadata.h +++ b/src/core/lib/compression/algorithm_metadata.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/transport/metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Return compression algorithm based metadata value */ grpc_slice grpc_compression_algorithm_slice( @@ -53,8 +51,6 @@ grpc_compression_algorithm grpc_compression_algorithm_from_slice( grpc_stream_compression_algorithm grpc_stream_compression_algorithm_from_slice( grpc_slice str); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H */ diff --git a/src/core/lib/compression/message_compress.h b/src/core/lib/compression/message_compress.h index fffe175fd2..137e45431c 100644 --- a/src/core/lib/compression/message_compress.h +++ b/src/core/lib/compression/message_compress.h @@ -22,9 +22,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + /* compress 'input' to 'output' using 'algorithm'. On success, appends compressed slices to output and returns 1. @@ -40,8 +38,6 @@ int grpc_msg_decompress(grpc_exec_ctx* exec_ctx, grpc_compression_algorithm algorithm, grpc_slice_buffer* input, grpc_slice_buffer* output); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H */ diff --git a/src/core/lib/compression/stream_compression.h b/src/core/lib/compression/stream_compression.h index b56c142543..8d4f0e725d 100644 --- a/src/core/lib/compression/stream_compression.h +++ b/src/core/lib/compression/stream_compression.h @@ -26,9 +26,7 @@ #include "src/core/lib/transport/static_metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_stream_compression_vtable grpc_stream_compression_vtable; @@ -115,8 +113,6 @@ void grpc_stream_compression_context_destroy( int grpc_stream_compression_method_parse( grpc_slice value, bool is_compress, grpc_stream_compression_method* method); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/compression/stream_compression_gzip.h b/src/core/lib/compression/stream_compression_gzip.h index a3f1b0406f..735543f3f9 100644 --- a/src/core/lib/compression/stream_compression_gzip.h +++ b/src/core/lib/compression/stream_compression_gzip.h @@ -21,14 +21,10 @@ #include "src/core/lib/compression/stream_compression.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_stream_compression_vtable grpc_stream_compression_gzip_vtable; -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/compression/stream_compression_identity.h b/src/core/lib/compression/stream_compression_identity.h index 3a729fafad..9f1166724b 100644 --- a/src/core/lib/compression/stream_compression_identity.h +++ b/src/core/lib/compression/stream_compression_identity.h @@ -21,15 +21,11 @@ #include "src/core/lib/compression/stream_compression.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable; -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/debug/stats.h b/src/core/lib/debug/stats.h index 1c19e72345..1a3a9c5384 100644 --- a/src/core/lib/debug/stats.h +++ b/src/core/lib/debug/stats.h @@ -23,9 +23,7 @@ #include "src/core/lib/debug/stats_data.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_stats_data { gpr_atm counters[GRPC_STATS_COUNTER_COUNT]; @@ -62,8 +60,6 @@ double grpc_stats_histo_percentile(const grpc_stats_data* data, size_t grpc_stats_histo_count(const grpc_stats_data* data, grpc_stats_histograms histogram); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index fbfcce83ba..7bd6ccff6f 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -24,9 +24,7 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED, @@ -502,8 +500,6 @@ extern const int* const grpc_stats_histo_bucket_boundaries[13]; extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx* exec_ctx, int x); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */ diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index 7447d5d94a..237793eeb3 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -23,9 +23,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + #if defined(__has_feature) #if __has_feature(thread_sanitizer) @@ -56,8 +54,6 @@ void grpc_register_tracer(grpc_tracer_flag* flag); void grpc_tracer_init(const char* env_var_name); void grpc_tracer_shutdown(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_DEBUG_TRACE_H */ diff --git a/src/core/lib/http/format_request.h b/src/core/lib/http/format_request.h index 32054805b4..65be293f1b 100644 --- a/src/core/lib/http/format_request.h +++ b/src/core/lib/http/format_request.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/http/httpcli.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_slice grpc_httpcli_format_get_request(const grpc_httpcli_request* request); grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request, @@ -33,8 +31,6 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request, grpc_slice grpc_httpcli_format_connect_request( const grpc_httpcli_request* request); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */ diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index a3411341ad..d1027b82c3 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -32,9 +32,7 @@ /* User agent this library reports */ #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0" -#ifdef __cplusplus -extern "C" { -#endif + /* Tracks in-progress http requests TODO(ctiller): allow caching and capturing multiple requests for the @@ -127,8 +125,6 @@ typedef int (*grpc_httpcli_post_override)( void grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */ diff --git a/src/core/lib/http/parser.h b/src/core/lib/http/parser.h index 3d28481c4c..0a17e6b694 100644 --- a/src/core/lib/http/parser.h +++ b/src/core/lib/http/parser.h @@ -27,9 +27,7 @@ /* Maximum length of a header string of the form 'Key: Value\r\n' */ #define GRPC_HTTP_PARSER_MAX_HEADER_LENGTH 4096 -#ifdef __cplusplus -extern "C" { -#endif + /* A single header to be passed in a request */ typedef struct grpc_http_header { @@ -113,8 +111,6 @@ void grpc_http_response_destroy(grpc_http_response* response); extern grpc_tracer_flag grpc_http1_trace; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_HTTP_PARSER_H */ diff --git a/src/core/lib/iomgr/block_annotate.h b/src/core/lib/iomgr/block_annotate.h index fcbfe9eb1a..6eecd651f9 100644 --- a/src/core/lib/iomgr/block_annotate.h +++ b/src/core/lib/iomgr/block_annotate.h @@ -19,16 +19,12 @@ #ifndef GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H #define GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H -#ifdef __cplusplus -extern "C" { -#endif + void gpr_thd_start_blocking_region(); void gpr_thd_end_blocking_region(); -#ifdef __cplusplus -} -#endif + /* These annotations identify the beginning and end of regions where the code may block for reasons other than synchronization functions. diff --git a/src/core/lib/iomgr/call_combiner.h b/src/core/lib/iomgr/call_combiner.h index 527f84fce0..66aaf50a49 100644 --- a/src/core/lib/iomgr/call_combiner.h +++ b/src/core/lib/iomgr/call_combiner.h @@ -27,9 +27,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" -#ifdef __cplusplus -extern "C" { -#endif + // A simple, lock-free mechanism for serializing activity related to a // single call. This is similar to a combiner but is more lightweight. @@ -122,8 +120,6 @@ void grpc_call_combiner_cancel(grpc_exec_ctx* exec_ctx, grpc_call_combiner* call_combiner, grpc_error* error); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_CALL_COMBINER_H */ diff --git a/src/core/lib/iomgr/combiner.h b/src/core/lib/iomgr/combiner.h index f8a8b9df62..e37e621a75 100644 --- a/src/core/lib/iomgr/combiner.h +++ b/src/core/lib/iomgr/combiner.h @@ -26,9 +26,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" -#ifdef __cplusplus -extern "C" { -#endif + // Provides serialized access to some resource. // Each action queued on a combiner is executed serially in a borrowed thread. @@ -67,8 +65,6 @@ bool grpc_combiner_continue_exec_ctx(grpc_exec_ctx* exec_ctx); extern grpc_tracer_flag grpc_combiner_trace; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_COMBINER_H */ diff --git a/src/core/lib/iomgr/endpoint.h b/src/core/lib/iomgr/endpoint.h index 1b0a9e725e..8918438d23 100644 --- a/src/core/lib/iomgr/endpoint.h +++ b/src/core/lib/iomgr/endpoint.h @@ -26,9 +26,7 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resource_quota.h" -#ifdef __cplusplus -extern "C" { -#endif + /* An endpoint caps a streaming channel between two communicating processes. Examples may be: a tcp socket, , or some shared memory. */ @@ -106,8 +104,6 @@ struct grpc_endpoint { const grpc_endpoint_vtable* vtable; }; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_H */ diff --git a/src/core/lib/iomgr/endpoint_pair.h b/src/core/lib/iomgr/endpoint_pair.h index 219eea8550..35158da0aa 100644 --- a/src/core/lib/iomgr/endpoint_pair.h +++ b/src/core/lib/iomgr/endpoint_pair.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/endpoint.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { grpc_endpoint* client; @@ -33,8 +31,6 @@ typedef struct { grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name, grpc_channel_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */ diff --git a/src/core/lib/iomgr/error.h b/src/core/lib/iomgr/error.h index 8d7aea4872..f0d4437a51 100644 --- a/src/core/lib/iomgr/error.h +++ b/src/core/lib/iomgr/error.h @@ -29,9 +29,7 @@ #include "src/core/lib/debug/trace.h" -#ifdef __cplusplus -extern "C" { -#endif + /// Opaque representation of an error. /// See https://github.com/grpc/grpc/blob/master/doc/core/grpc-error.md for a @@ -205,8 +203,6 @@ bool grpc_log_if_error(const char* what, grpc_error* error, const char* file, #define GRPC_LOG_IF_ERROR(what, error) \ grpc_log_if_error((what), (error), __FILE__, __LINE__) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_ERROR_H */ diff --git a/src/core/lib/iomgr/error_internal.h b/src/core/lib/iomgr/error_internal.h index d5ccbae9e7..26088b2210 100644 --- a/src/core/lib/iomgr/error_internal.h +++ b/src/core/lib/iomgr/error_internal.h @@ -25,9 +25,7 @@ #include #include "src/core/lib/iomgr/error.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_linked_error grpc_linked_error; @@ -62,8 +60,6 @@ struct grpc_error { bool grpc_error_is_special(struct grpc_error* err); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_ERROR_INTERNAL_H */ diff --git a/src/core/lib/iomgr/ev_epoll1_linux.h b/src/core/lib/iomgr/ev_epoll1_linux.h index 3e66747f6c..03b61f5eb1 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.h +++ b/src/core/lib/iomgr/ev_epoll1_linux.h @@ -22,16 +22,12 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" -#ifdef __cplusplus -extern "C" { -#endif + // a polling engine that utilizes a singleton epoll set and turnstile polling const grpc_event_engine_vtable* grpc_init_epoll1_linux(bool explicit_request); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLL1_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_epollex_linux.h b/src/core/lib/iomgr/ev_epollex_linux.h index 22b536c7d4..6eb980d593 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.h +++ b/src/core/lib/iomgr/ev_epollex_linux.h @@ -22,15 +22,11 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" -#ifdef __cplusplus -extern "C" { -#endif + const grpc_event_engine_vtable* grpc_init_epollex_linux( bool explicitly_requested); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLEX_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_epollsig_linux.h b/src/core/lib/iomgr/ev_epollsig_linux.h index ca68595734..15e94bba73 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.h +++ b/src/core/lib/iomgr/ev_epollsig_linux.h @@ -22,9 +22,7 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" -#ifdef __cplusplus -extern "C" { -#endif + const grpc_event_engine_vtable* grpc_init_epollsig_linux(bool explicit_request); @@ -34,8 +32,6 @@ void* grpc_pollset_get_polling_island(grpc_pollset* ps); bool grpc_are_polling_islands_equal(void* p, void* q); #endif /* defined(GRPC_LINUX_EPOLL) */ -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLSIG_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_poll_posix.h b/src/core/lib/iomgr/ev_poll_posix.h index 626e95bc8f..820e14c337 100644 --- a/src/core/lib/iomgr/ev_poll_posix.h +++ b/src/core/lib/iomgr/ev_poll_posix.h @@ -21,15 +21,11 @@ #include "src/core/lib/iomgr/ev_posix.h" -#ifdef __cplusplus -extern "C" { -#endif + const grpc_event_engine_vtable* grpc_init_poll_posix(bool explicit_request); const grpc_event_engine_vtable* grpc_init_poll_cv_posix(bool explicit_request); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_POLL_POSIX_H */ diff --git a/src/core/lib/iomgr/ev_posix.cc b/src/core/lib/iomgr/ev_posix.cc index 076d2e6bab..6157b54404 100644 --- a/src/core/lib/iomgr/ev_posix.cc +++ b/src/core/lib/iomgr/ev_posix.cc @@ -63,8 +63,6 @@ typedef struct { namespace { -extern "C" { - grpc_poll_function_type real_poll_function; int dummy_poll(struct pollfd fds[], nfds_t nfds, int timeout) { @@ -76,7 +74,6 @@ int dummy_poll(struct pollfd fds[], nfds_t nfds, int timeout) { return -1; } } -} // extern "C" const grpc_event_engine_vtable* init_non_polling(bool explicit_request) { if (!explicit_request) { diff --git a/src/core/lib/iomgr/ev_posix.h b/src/core/lib/iomgr/ev_posix.h index d719b8f3c9..acc7f3df39 100644 --- a/src/core/lib/iomgr/ev_posix.h +++ b/src/core/lib/iomgr/ev_posix.h @@ -27,9 +27,7 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" -#ifdef __cplusplus -extern "C" { -#endif + extern grpc_tracer_flag grpc_polling_trace; /* Disabled by default */ @@ -162,8 +160,6 @@ extern grpc_poll_function_type grpc_poll_function; void grpc_set_event_engine_test_only(const grpc_event_engine_vtable*); const grpc_event_engine_vtable* grpc_get_event_engine_test_only(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EV_POSIX_H */ diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index bd27506152..1baca89d6e 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/closure.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef gpr_atm grpc_millis; @@ -124,8 +122,4 @@ gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock); grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec timespec); grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec timespec); -#ifdef __cplusplus -} -#endif - #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */ diff --git a/src/core/lib/iomgr/executor.h b/src/core/lib/iomgr/executor.h index 8418ace06e..35823b0f0e 100644 --- a/src/core/lib/iomgr/executor.h +++ b/src/core/lib/iomgr/executor.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/closure.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_EXECUTOR_SHORT, @@ -49,8 +47,6 @@ bool grpc_executor_is_threaded(); grpc_executor_shutdown */ void grpc_executor_set_threading(grpc_exec_ctx* exec_ctx, bool enable); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_EXECUTOR_H */ diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index 2e65b5ffbf..19da54378a 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -19,16 +19,12 @@ #ifndef GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H #define GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H -#ifdef __cplusplus -extern "C" { -#endif + // Returns the hostname of the local machine. // Caller takes ownership of result. char* grpc_gethostname(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ diff --git a/src/core/lib/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h index d112c50538..ca6d3c91bd 100644 --- a/src/core/lib/iomgr/iocp_windows.h +++ b/src/core/lib/iomgr/iocp_windows.h @@ -27,9 +27,7 @@ #include "src/core/lib/iomgr/socket_windows.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_IOCP_WORK_WORK, @@ -45,9 +43,7 @@ void grpc_iocp_flush(void); void grpc_iocp_shutdown(void); void grpc_iocp_add_socket(grpc_winsocket*); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h index d1549c8c63..4e4fb4a1a2 100644 --- a/src/core/lib/iomgr/iomgr.h +++ b/src/core/lib/iomgr/iomgr.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/iomgr/port.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Initializes the iomgr. */ void grpc_iomgr_init(grpc_exec_ctx* exec_ctx); @@ -36,8 +34,6 @@ void grpc_iomgr_start(grpc_exec_ctx* exec_ctx); * exec_ctx. */ void grpc_iomgr_shutdown(grpc_exec_ctx* exec_ctx); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_IOMGR_H */ diff --git a/src/core/lib/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h index b818c68da0..144a92a6c4 100644 --- a/src/core/lib/iomgr/iomgr_internal.h +++ b/src/core/lib/iomgr/iomgr_internal.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/iomgr.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_iomgr_object { char* name; @@ -44,8 +42,6 @@ void grpc_iomgr_platform_shutdown(void); bool grpc_iomgr_abort_on_leaks(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H */ diff --git a/src/core/lib/iomgr/iomgr_uv.h b/src/core/lib/iomgr/iomgr_uv.h index bc42ca8c1c..218e696e3a 100644 --- a/src/core/lib/iomgr/iomgr_uv.h +++ b/src/core/lib/iomgr/iomgr_uv.h @@ -23,17 +23,13 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* The thread ID of the thread on which grpc was initialized. Used to verify * that all calls into libuv are made on that same thread */ extern gpr_thd_id g_init_thread; -#ifdef __cplusplus -} -#endif + #ifdef GRPC_UV_THREAD_CHECK #define GRPC_UV_ASSERT_SAME_THREAD() \ diff --git a/src/core/lib/iomgr/is_epollexclusive_available.h b/src/core/lib/iomgr/is_epollexclusive_available.h index 9ae9c5c191..8dc7af0bce 100644 --- a/src/core/lib/iomgr/is_epollexclusive_available.h +++ b/src/core/lib/iomgr/is_epollexclusive_available.h @@ -21,14 +21,10 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + bool grpc_is_epollexclusive_available(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_IS_EPOLLEXCLUSIVE_AVAILABLE_H */ diff --git a/src/core/lib/iomgr/load_file.h b/src/core/lib/iomgr/load_file.h index 5b367c189d..61e0cb1a1a 100644 --- a/src/core/lib/iomgr/load_file.h +++ b/src/core/lib/iomgr/load_file.h @@ -25,17 +25,13 @@ #include "src/core/lib/iomgr/error.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Loads the content of a file into a slice. add_null_terminator will add a NULL terminator if non-zero. */ grpc_error* grpc_load_file(const char* filename, int add_null_terminator, grpc_slice* slice); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_LOAD_FILE_H */ diff --git a/src/core/lib/iomgr/polling_entity.h b/src/core/lib/iomgr/polling_entity.h index 867e085153..f0b4617a9d 100644 --- a/src/core/lib/iomgr/polling_entity.h +++ b/src/core/lib/iomgr/polling_entity.h @@ -22,9 +22,7 @@ #include "src/core/lib/iomgr/pollset.h" #include "src/core/lib/iomgr/pollset_set.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum grpc_pollset_tag { GRPC_POLLS_NONE, @@ -68,8 +66,6 @@ void grpc_polling_entity_add_to_pollset_set(grpc_exec_ctx* exec_ctx, void grpc_polling_entity_del_from_pollset_set(grpc_exec_ctx* exec_ctx, grpc_polling_entity* pollent, grpc_pollset_set* pss_dst); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */ diff --git a/src/core/lib/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h index c99b930e8e..761aa80643 100644 --- a/src/core/lib/iomgr/pollset.h +++ b/src/core/lib/iomgr/pollset.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_fd_refcount; @@ -84,8 +82,6 @@ grpc_error* grpc_pollset_kick(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset, grpc_pollset_worker* specific_worker) GRPC_MUST_USE_RESULT; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_H */ diff --git a/src/core/lib/iomgr/pollset_set.h b/src/core/lib/iomgr/pollset_set.h index 0167a50a56..4a3793eccb 100644 --- a/src/core/lib/iomgr/pollset_set.h +++ b/src/core/lib/iomgr/pollset_set.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/pollset.h" -#ifdef __cplusplus -extern "C" { -#endif + /* A grpc_pollset_set is a set of pollsets that are interested in an action. Adding a pollset to a pollset_set automatically adds any @@ -48,8 +46,6 @@ void grpc_pollset_set_del_pollset_set(grpc_exec_ctx* exec_ctx, grpc_pollset_set* bag, grpc_pollset_set* item); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_H */ diff --git a/src/core/lib/iomgr/pollset_uv.h b/src/core/lib/iomgr/pollset_uv.h index 5cc9faf4ff..ce62297cc7 100644 --- a/src/core/lib/iomgr/pollset_uv.h +++ b/src/core/lib/iomgr/pollset_uv.h @@ -19,17 +19,13 @@ #ifndef GRPC_CORE_LIB_IOMGR_POLLSET_UV_H #define GRPC_CORE_LIB_IOMGR_POLLSET_UV_H -#ifdef __cplusplus -extern "C" { -#endif + extern int grpc_pollset_work_run_loop; void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_UV_H */ diff --git a/src/core/lib/iomgr/pollset_windows.h b/src/core/lib/iomgr/pollset_windows.h index f6da9da601..d0b4144c27 100644 --- a/src/core/lib/iomgr/pollset_windows.h +++ b/src/core/lib/iomgr/pollset_windows.h @@ -26,9 +26,7 @@ #ifdef GRPC_WINSOCK_SOCKET #include "src/core/lib/iomgr/socket_windows.h" -#ifdef __cplusplus -extern "C" { -#endif + /* There isn't really any such thing as a pollset under Windows, due to the nature of the IO completion ports. A Windows "pollset" is merely a mutex @@ -67,9 +65,7 @@ struct grpc_pollset { void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h index 847e10f177..790d614aae 100644 --- a/src/core/lib/iomgr/resolve_address.h +++ b/src/core/lib/iomgr/resolve_address.h @@ -25,9 +25,7 @@ #define GRPC_MAX_SOCKADDR_SIZE 128 -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { char addr[GRPC_MAX_SOCKADDR_SIZE]; @@ -56,8 +54,6 @@ extern grpc_error* (*grpc_blocking_resolve_address)( const char* name, const char* default_port, grpc_resolved_addresses** addresses); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */ diff --git a/src/core/lib/iomgr/resource_quota.h b/src/core/lib/iomgr/resource_quota.h index fcdf9c2de5..331efe0e35 100644 --- a/src/core/lib/iomgr/resource_quota.h +++ b/src/core/lib/iomgr/resource_quota.h @@ -24,9 +24,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + /** \file Tracks resource usage against a pool. @@ -154,8 +152,6 @@ grpc_slice grpc_resource_user_slice_malloc(grpc_exec_ctx* exec_ctx, grpc_resource_user* resource_user, size_t size); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */ diff --git a/src/core/lib/iomgr/sockaddr_utils.h b/src/core/lib/iomgr/sockaddr_utils.h index 090470d49e..0d5cc5bb42 100644 --- a/src/core/lib/iomgr/sockaddr_utils.h +++ b/src/core/lib/iomgr/sockaddr_utils.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Returns true if addr is an IPv4-mapped IPv6 address within the ::ffff:0.0.0.0/96 range, or false otherwise. @@ -81,8 +79,6 @@ const char* grpc_sockaddr_get_uri_scheme(const grpc_resolved_address* addr); int grpc_sockaddr_get_family(const grpc_resolved_address* resolved_addr); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */ diff --git a/src/core/lib/iomgr/socket_factory_posix.h b/src/core/lib/iomgr/socket_factory_posix.h index e8257b07c4..920a72901e 100644 --- a/src/core/lib/iomgr/socket_factory_posix.h +++ b/src/core/lib/iomgr/socket_factory_posix.h @@ -23,9 +23,7 @@ #include #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /** The virtual table of grpc_socket_factory */ typedef struct { @@ -68,8 +66,6 @@ int grpc_socket_factory_compare(grpc_socket_factory* a, grpc_socket_factory* b); grpc_socket_factory* grpc_socket_factory_ref(grpc_socket_factory* factory); void grpc_socket_factory_unref(grpc_socket_factory* factory); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_FACTORY_POSIX_H */ diff --git a/src/core/lib/iomgr/socket_mutator.h b/src/core/lib/iomgr/socket_mutator.h index b4103f7e93..703aee3145 100644 --- a/src/core/lib/iomgr/socket_mutator.h +++ b/src/core/lib/iomgr/socket_mutator.h @@ -24,9 +24,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** The virtual table of grpc_socket_mutator */ typedef struct { @@ -60,8 +58,6 @@ int grpc_socket_mutator_compare(grpc_socket_mutator* a, grpc_socket_mutator* b); grpc_socket_mutator* grpc_socket_mutator_ref(grpc_socket_mutator* mutator); void grpc_socket_mutator_unref(grpc_socket_mutator* mutator); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_MUTATOR_H */ diff --git a/src/core/lib/iomgr/socket_utils.h b/src/core/lib/iomgr/socket_utils.h index 4816ab6be7..dc5c4dc56e 100644 --- a/src/core/lib/iomgr/socket_utils.h +++ b/src/core/lib/iomgr/socket_utils.h @@ -21,15 +21,11 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* A wrapper for inet_ntop on POSIX systems and InetNtop on Windows systems */ const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_H */ diff --git a/src/core/lib/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h index 7a9c8139e7..02fdd02e2b 100644 --- a/src/core/lib/iomgr/socket_utils_posix.h +++ b/src/core/lib/iomgr/socket_utils_posix.h @@ -29,9 +29,7 @@ #include "src/core/lib/iomgr/socket_factory_posix.h" #include "src/core/lib/iomgr/socket_mutator.h" -#ifdef __cplusplus -extern "C" { -#endif + /* a wrapper for accept or accept4 */ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock, @@ -133,8 +131,6 @@ grpc_error* grpc_create_dualstack_socket_using_factory( grpc_socket_factory* factory, const grpc_resolved_address* addr, int type, int protocol, grpc_dualstack_mode* dsmode, int* newfd); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */ diff --git a/src/core/lib/iomgr/socket_windows.h b/src/core/lib/iomgr/socket_windows.h index c3ad99d82f..5a09c52b7a 100644 --- a/src/core/lib/iomgr/socket_windows.h +++ b/src/core/lib/iomgr/socket_windows.h @@ -31,9 +31,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr_internal.h" -#ifdef __cplusplus -extern "C" { -#endif + /* This holds the data for an outstanding read or write on a socket. The mutex to protect the concurrent access to that data is the one @@ -114,9 +112,7 @@ void grpc_socket_become_ready(grpc_exec_ctx* exec_ctx, grpc_winsocket* winsocket, grpc_winsocket_callback_info* ci); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index c18d8a9316..9ad06f2f9e 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Asynchronously connect to an address (specified as (addr, len)), and call cb with arg and the completed connection when done (or call cb with arg and @@ -41,8 +39,6 @@ void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* on_connect, const grpc_resolved_address* addr, grpc_millis deadline); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */ diff --git a/src/core/lib/iomgr/tcp_client_posix.cc b/src/core/lib/iomgr/tcp_client_posix.cc index cb0f627c94..92120a5022 100644 --- a/src/core/lib/iomgr/tcp_client_posix.cc +++ b/src/core/lib/iomgr/tcp_client_posix.cc @@ -334,13 +334,11 @@ done: } // overridden by api_fuzzer.c -extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args, const grpc_resolved_address* addr, grpc_millis deadline) = tcp_client_connect_impl; -} void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, diff --git a/src/core/lib/iomgr/tcp_client_posix.h b/src/core/lib/iomgr/tcp_client_posix.h index 13d917891e..aac74effba 100644 --- a/src/core/lib/iomgr/tcp_client_posix.h +++ b/src/core/lib/iomgr/tcp_client_posix.h @@ -23,16 +23,12 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/tcp_client.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_endpoint* grpc_tcp_client_create_from_fd( grpc_exec_ctx* exec_ctx, grpc_fd* fd, const grpc_channel_args* channel_args, const char* addr_str); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_client_windows.cc b/src/core/lib/iomgr/tcp_client_windows.cc index 103e6b78de..5e30725e90 100644 --- a/src/core/lib/iomgr/tcp_client_windows.cc +++ b/src/core/lib/iomgr/tcp_client_windows.cc @@ -226,13 +226,11 @@ failure: } // overridden by api_fuzzer.c -extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args, const grpc_resolved_address* addr, grpc_millis deadline) = tcp_client_connect_impl; -} void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, diff --git a/src/core/lib/iomgr/tcp_posix.h b/src/core/lib/iomgr/tcp_posix.h index ff1060b0ff..273e3277a9 100644 --- a/src/core/lib/iomgr/tcp_posix.h +++ b/src/core/lib/iomgr/tcp_posix.h @@ -33,9 +33,7 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/ev_posix.h" -#ifdef __cplusplus -extern "C" { -#endif + extern grpc_tracer_flag grpc_tcp_trace; @@ -57,8 +55,6 @@ int grpc_tcp_fd(grpc_endpoint* ep); void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep, int* fd, grpc_closure* done); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index ef983199b8..ab271f997c 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Forward decl of grpc_tcp_server */ typedef struct grpc_tcp_server grpc_tcp_server; @@ -102,8 +100,6 @@ void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s); void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */ diff --git a/src/core/lib/iomgr/tcp_server_utils_posix.h b/src/core/lib/iomgr/tcp_server_utils_posix.h index 608fba3346..fb2510ec39 100644 --- a/src/core/lib/iomgr/tcp_server_utils_posix.h +++ b/src/core/lib/iomgr/tcp_server_utils_posix.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/tcp_server.h" -#ifdef __cplusplus -extern "C" { -#endif + /* one listening port */ typedef struct grpc_tcp_listener { @@ -121,8 +119,6 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd, /* Ruturn true if the platform supports ifaddrs */ bool grpc_tcp_server_have_ifaddrs(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_UTILS_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_uv.h b/src/core/lib/iomgr/tcp_uv.h index 708e8469e6..df12c882e0 100644 --- a/src/core/lib/iomgr/tcp_uv.h +++ b/src/core/lib/iomgr/tcp_uv.h @@ -42,17 +42,13 @@ extern grpc_tracer_flag grpc_tcp_trace; #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192 -#ifdef __cplusplus -extern "C" { -#endif + grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle, grpc_resource_quota* resource_quota, char* peer_string); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_UV */ diff --git a/src/core/lib/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h index 9c7ccdf132..ccfde72723 100644 --- a/src/core/lib/iomgr/tcp_windows.h +++ b/src/core/lib/iomgr/tcp_windows.h @@ -35,9 +35,7 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/socket_windows.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Create a tcp endpoint given a winsock handle. * Takes ownership of the handle. @@ -48,9 +46,7 @@ grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket, grpc_error* grpc_tcp_prepare_socket(SOCKET sock); -#ifdef __cplusplus -} -#endif + #endif diff --git a/src/core/lib/iomgr/time_averaged_stats.h b/src/core/lib/iomgr/time_averaged_stats.h index d38ed272b6..519bc2db16 100644 --- a/src/core/lib/iomgr/time_averaged_stats.h +++ b/src/core/lib/iomgr/time_averaged_stats.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H #define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H -#ifdef __cplusplus -extern "C" { -#endif + /* This tracks a time-decaying weighted average. It works by collecting batches of samples and then mixing their average into a time-decaying @@ -74,8 +72,6 @@ void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats* stats, value. */ double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */ diff --git a/src/core/lib/iomgr/timer.h b/src/core/lib/iomgr/timer.h index cd8334eceb..9e454d995d 100644 --- a/src/core/lib/iomgr/timer.h +++ b/src/core/lib/iomgr/timer.h @@ -32,9 +32,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_timer grpc_timer; @@ -106,8 +104,6 @@ void grpc_timer_consume_kick(void); void grpc_kick_poller(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */ diff --git a/src/core/lib/iomgr/timer_generic.cc b/src/core/lib/iomgr/timer_generic.cc index a4bfbcb342..4216caa54f 100644 --- a/src/core/lib/iomgr/timer_generic.cc +++ b/src/core/lib/iomgr/timer_generic.cc @@ -42,11 +42,9 @@ #define MIN_QUEUE_WINDOW_DURATION 0.01 #define MAX_QUEUE_WINDOW_DURATION 1 -extern "C" { grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); -} /* A "timer shard". Contains a 'heap' and a 'list' of timers. All timers with * deadlines earlier than 'queue_deadline" cap are maintained in the heap and diff --git a/src/core/lib/iomgr/timer_heap.h b/src/core/lib/iomgr/timer_heap.h index ae56e5a73e..12a7ab2884 100644 --- a/src/core/lib/iomgr/timer_heap.h +++ b/src/core/lib/iomgr/timer_heap.h @@ -21,9 +21,7 @@ #include "src/core/lib/iomgr/timer.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { grpc_timer** timers; @@ -43,8 +41,6 @@ void grpc_timer_heap_pop(grpc_timer_heap* heap); int grpc_timer_heap_is_empty(grpc_timer_heap* heap); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H */ diff --git a/src/core/lib/iomgr/timer_manager.h b/src/core/lib/iomgr/timer_manager.h index 72960d6ffc..861ee6845e 100644 --- a/src/core/lib/iomgr/timer_manager.h +++ b/src/core/lib/iomgr/timer_manager.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Timer Manager tries to keep one thread waiting for the next timeout at all times */ @@ -38,8 +36,6 @@ void grpc_timer_manager_set_threading(bool enabled); * disabled */ void grpc_timer_manager_tick(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_TIMER_MANAGER_H */ diff --git a/src/core/lib/iomgr/timer_uv.cc b/src/core/lib/iomgr/timer_uv.cc index df40e54ae6..3d0450cfb5 100644 --- a/src/core/lib/iomgr/timer_uv.cc +++ b/src/core/lib/iomgr/timer_uv.cc @@ -29,11 +29,9 @@ #include -extern "C" { grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); -} static void timer_close_callback(uv_handle_t* handle) { gpr_free(handle); } diff --git a/src/core/lib/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h index bca0f049fb..6bd5b205c3 100644 --- a/src/core/lib/iomgr/udp_server.h +++ b/src/core/lib/iomgr/udp_server.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Forward decl of struct grpc_server */ /* This is not typedef'ed to avoid a typedef-redefinition error */ @@ -77,8 +75,6 @@ int grpc_udp_server_add_port(grpc_udp_server* s, void grpc_udp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_udp_server* server, grpc_closure* on_done); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */ diff --git a/src/core/lib/iomgr/unix_sockets_posix.h b/src/core/lib/iomgr/unix_sockets_posix.h index be3c33d9c2..a0d9072370 100644 --- a/src/core/lib/iomgr/unix_sockets_posix.h +++ b/src/core/lib/iomgr/unix_sockets_posix.h @@ -25,9 +25,7 @@ #include "src/core/lib/iomgr/resolve_address.h" -#ifdef __cplusplus -extern "C" { -#endif + void grpc_create_socketpair_if_unix(int sv[2]); @@ -42,8 +40,6 @@ void grpc_unlink_if_unix_domain_socket( char* grpc_sockaddr_to_uri_unix_if_possible( const grpc_resolved_address* resolved_addr); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_cv.h b/src/core/lib/iomgr/wakeup_fd_cv.h index dcd7bdb560..94473318e5 100644 --- a/src/core/lib/iomgr/wakeup_fd_cv.h +++ b/src/core/lib/iomgr/wakeup_fd_cv.h @@ -40,9 +40,7 @@ #define GRPC_FD_TO_IDX(fd) (-(fd)-1) #define GRPC_IDX_TO_FD(idx) (-(idx)-1) -#ifdef __cplusplus -extern "C" { -#endif + typedef struct cv_node { gpr_cv* cv; @@ -68,8 +66,6 @@ typedef struct cv_fd_table { extern const grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h index 9bbb5e2ff7..bb1dfd7a26 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.h +++ b/src/core/lib/iomgr/wakeup_fd_pipe.h @@ -21,14 +21,10 @@ #include "src/core/lib/iomgr/wakeup_fd_posix.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_posix.h b/src/core/lib/iomgr/wakeup_fd_posix.h index ae7849f98c..65a80d44f4 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.h +++ b/src/core/lib/iomgr/wakeup_fd_posix.h @@ -49,9 +49,7 @@ #include "src/core/lib/iomgr/error.h" -#ifdef __cplusplus -extern "C" { -#endif + void grpc_wakeup_fd_global_init(void); void grpc_wakeup_fd_global_destroy(void); @@ -95,8 +93,6 @@ void grpc_wakeup_fd_destroy(grpc_wakeup_fd* fd_info); * wakeup_fd_nospecial.c if no such implementation exists. */ extern const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H */ diff --git a/src/core/lib/json/json.h b/src/core/lib/json/json.h index c9fdec4ecb..0e841e0726 100644 --- a/src/core/lib/json/json.h +++ b/src/core/lib/json/json.h @@ -23,9 +23,7 @@ #include "src/core/lib/json/json_common.h" -#ifdef __cplusplus -extern "C" { -#endif + /* A tree-like structure to hold json values. The key and value pointers * are not owned by it. @@ -74,8 +72,6 @@ char* grpc_json_dump_to_string(grpc_json* json, int indent); grpc_json* grpc_json_create(grpc_json_type type); void grpc_json_destroy(grpc_json* json); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_JSON_JSON_H */ diff --git a/src/core/lib/json/json_reader.h b/src/core/lib/json/json_reader.h index 2636d2b1d9..62718bbcdc 100644 --- a/src/core/lib/json/json_reader.h +++ b/src/core/lib/json/json_reader.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/json/json_common.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { GRPC_JSON_STATE_OBJECT_KEY_BEGIN, @@ -146,8 +144,6 @@ void grpc_json_reader_init(grpc_json_reader* reader, */ int grpc_json_reader_is_complete(grpc_json_reader* reader); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_JSON_JSON_READER_H */ diff --git a/src/core/lib/json/json_writer.h b/src/core/lib/json/json_writer.h index 93eeb2031b..ead8426d03 100644 --- a/src/core/lib/json/json_writer.h +++ b/src/core/lib/json/json_writer.h @@ -35,9 +35,7 @@ #include "src/core/lib/json/json_common.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_json_writer_vtable { /* Adds a character to the output stream. */ @@ -83,8 +81,6 @@ void grpc_json_writer_value_raw_with_len(grpc_json_writer* writer, void grpc_json_writer_value_string(grpc_json_writer* writer, const char* string); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */ diff --git a/src/core/lib/profiling/timers.h b/src/core/lib/profiling/timers.h index 8b6c254c21..a0a0a4fff1 100644 --- a/src/core/lib/profiling/timers.h +++ b/src/core/lib/profiling/timers.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_LIB_PROFILING_TIMERS_H #define GRPC_CORE_LIB_PROFILING_TIMERS_H -#ifdef __cplusplus -extern "C" { -#endif + void gpr_timers_global_init(void); void gpr_timers_global_destroy(void); @@ -84,9 +82,6 @@ void gpr_timer_set_enabled(int enabled); #endif /* at least one profiler requested. */ -#ifdef __cplusplus -} - #if (defined(GRPC_STAP_PROFILER) + defined(GRPC_BASIC_PROFILER) + \ defined(GRPC_CUSTOM_PROFILER)) namespace grpc { @@ -111,6 +106,5 @@ class ProfileScope { do { \ } while (false) #endif -#endif #endif /* GRPC_CORE_LIB_PROFILING_TIMERS_H */ diff --git a/src/core/lib/security/context/security_context.h b/src/core/lib/security/context/security_context.h index 4f049c4a3b..261bc167f5 100644 --- a/src/core/lib/security/context/security_context.h +++ b/src/core/lib/security/context/security_context.h @@ -26,9 +26,7 @@ extern grpc_tracer_flag grpc_trace_auth_context_refcount; #endif -#ifdef __cplusplus -extern "C" { -#endif + /* --- grpc_auth_context --- @@ -116,8 +114,6 @@ grpc_auth_context* grpc_auth_context_from_arg(const grpc_arg* arg); grpc_auth_context* grpc_find_auth_context_in_args( const grpc_channel_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CONTEXT_SECURITY_CONTEXT_H */ diff --git a/src/core/lib/security/credentials/composite/composite_credentials.h b/src/core/lib/security/credentials/composite/composite_credentials.h index efb5f4f0c4..e3438dd3d1 100644 --- a/src/core/lib/security/credentials/composite/composite_credentials.h +++ b/src/core/lib/security/credentials/composite/composite_credentials.h @@ -21,9 +21,7 @@ #include "src/core/lib/security/credentials/credentials.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { grpc_call_credentials** creds_array; @@ -57,9 +55,7 @@ typedef struct { grpc_call_credentials_array inner; } grpc_composite_call_credentials; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/credentials/credentials.h b/src/core/lib/security/credentials/credentials.h index c65b9660ea..f74b047edc 100644 --- a/src/core/lib/security/credentials/credentials.h +++ b/src/core/lib/security/credentials/credentials.h @@ -29,9 +29,7 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/security/transport/security_connector.h" -#ifdef __cplusplus -extern "C" { -#endif + struct grpc_http_response; @@ -256,8 +254,6 @@ grpc_credentials_metadata_request* grpc_credentials_metadata_request_create( void grpc_credentials_metadata_request_destroy( grpc_exec_ctx* exec_ctx, grpc_credentials_metadata_request* r); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/fake/fake_credentials.h b/src/core/lib/security/credentials/fake/fake_credentials.h index b8b58cc8fd..7645671cee 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.h +++ b/src/core/lib/security/credentials/fake/fake_credentials.h @@ -21,9 +21,7 @@ #include "src/core/lib/security/credentials/credentials.h" -#ifdef __cplusplus -extern "C" { -#endif + /* -- Fake transport security credentials. -- */ @@ -60,8 +58,6 @@ typedef struct { bool is_async; } grpc_md_only_test_credentials; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.h b/src/core/lib/security/credentials/google_default/google_default_credentials.h index a0f8dc954e..6453480f0f 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.h +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.h @@ -23,9 +23,7 @@ #include "src/core/lib/security/credentials/credentials.h" -#ifdef __cplusplus -extern "C" { -#endif + #define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY "gcloud" #define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE \ @@ -45,9 +43,7 @@ extern "C" { void grpc_flush_cached_google_default_credentials(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_GOOGLE_DEFAULT_GOOGLE_DEFAULT_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/credentials/jwt/json_token.h b/src/core/lib/security/credentials/jwt/json_token.h index b2c3c09c25..038f470a42 100644 --- a/src/core/lib/security/credentials/jwt/json_token.h +++ b/src/core/lib/security/credentials/jwt/json_token.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H -#ifdef __cplusplus -extern "C" { -#endif + #include #include @@ -74,8 +72,6 @@ typedef char* (*grpc_jwt_encode_and_sign_override)( void grpc_jwt_encode_and_sign_set_override( grpc_jwt_encode_and_sign_override func); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.h b/src/core/lib/security/credentials/jwt/jwt_credentials.h index d554613eed..cd461d217e 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.h +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.h @@ -22,9 +22,7 @@ #include "src/core/lib/security/credentials/credentials.h" #include "src/core/lib/security/credentials/jwt/json_token.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { grpc_call_credentials base; @@ -49,8 +47,6 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key( grpc_exec_ctx* exec_ctx, grpc_auth_json_key key, gpr_timespec token_lifetime); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.h b/src/core/lib/security/credentials/jwt/jwt_verifier.h index 8083cf9beb..98db50887b 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.h +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.h @@ -32,9 +32,7 @@ #define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX \ "www.googleapis.com/robot/v1/metadata/x509" -#ifdef __cplusplus -extern "C" { -#endif + /* --- grpc_jwt_verifier_status. --- */ @@ -126,8 +124,6 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims* claims, const char* audience); const char* grpc_jwt_issuer_email_domain(const char* issuer); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_VERIFIER_H */ diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h index 32d3ff760d..57332f0a39 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h @@ -22,9 +22,7 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/security/credentials/credentials.h" -#ifdef __cplusplus -extern "C" { -#endif + // auth_refresh_token parsing. typedef struct { @@ -106,8 +104,6 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( grpc_exec_ctx* exec_ctx, const struct grpc_http_response* response, grpc_mdelem* token_md, grpc_millis* token_lifetime); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.h b/src/core/lib/security/credentials/ssl/ssl_credentials.h index 82b9ce11f6..5d10de71a3 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.h +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.h @@ -20,9 +20,7 @@ #include "src/core/lib/security/credentials/credentials.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct { grpc_channel_credentials base; @@ -53,8 +51,6 @@ tsi_ssl_pem_key_cert_pair* grpc_convert_grpc_to_tsi_cert_pairs( void grpc_tsi_ssl_pem_key_cert_pairs_destroy(tsi_ssl_pem_key_cert_pair* kp, size_t num_key_cert_pairs); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_SSL_SSL_CREDENTIALS_H */ diff --git a/src/core/lib/security/transport/auth_filters.h b/src/core/lib/security/transport/auth_filters.h index 6376929890..add335d74f 100644 --- a/src/core/lib/security/transport/auth_filters.h +++ b/src/core/lib/security/transport/auth_filters.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_client_auth_filter; extern const grpc_channel_filter grpc_server_auth_filter; @@ -36,8 +34,6 @@ void grpc_auth_metadata_context_build( void grpc_auth_metadata_context_reset(grpc_auth_metadata_context* context); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_AUTH_FILTERS_H */ diff --git a/src/core/lib/security/transport/lb_targets_info.h b/src/core/lib/security/transport/lb_targets_info.h index b4a0bc91da..0442d8df0b 100644 --- a/src/core/lib/security/transport/lb_targets_info.h +++ b/src/core/lib/security/transport/lb_targets_info.h @@ -21,9 +21,7 @@ #include "src/core/lib/slice/slice_hash_table.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Return a channel argument containing \a targets_info. */ grpc_arg grpc_lb_targets_info_create_channel_arg( @@ -33,8 +31,6 @@ grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table* grpc_lb_targets_info_find_in_args( const grpc_channel_args* args); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_LB_TARGETS_INFO_H */ diff --git a/src/core/lib/security/transport/secure_endpoint.h b/src/core/lib/security/transport/secure_endpoint.h index db8233f6e6..7f0843f17a 100644 --- a/src/core/lib/security/transport/secure_endpoint.h +++ b/src/core/lib/security/transport/secure_endpoint.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/iomgr/endpoint.h" -#ifdef __cplusplus -extern "C" { -#endif + struct tsi_frame_protector; struct tsi_zero_copy_grpc_protector; @@ -40,8 +38,6 @@ grpc_endpoint* grpc_secure_endpoint_create( grpc_endpoint* to_wrap, grpc_slice* leftover_slices, size_t leftover_nslices); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURE_ENDPOINT_H */ diff --git a/src/core/lib/security/transport/security_connector.h b/src/core/lib/security/transport/security_connector.h index 79fdbc1a66..d680db6c8e 100644 --- a/src/core/lib/security/transport/security_connector.h +++ b/src/core/lib/security/transport/security_connector.h @@ -29,9 +29,7 @@ #include "src/core/tsi/ssl_transport_security.h" #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_security_connector_refcount; @@ -261,8 +259,6 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( const grpc_auth_context* auth_context); void tsi_shallow_peer_destruct(tsi_peer* peer); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_CONNECTOR_H */ diff --git a/src/core/lib/security/transport/security_handshaker.h b/src/core/lib/security/transport/security_handshaker.h index 174f70f0dd..fd23a784a4 100644 --- a/src/core/lib/security/transport/security_handshaker.h +++ b/src/core/lib/security/transport/security_handshaker.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/security/transport/security_connector.h" -#ifdef __cplusplus -extern "C" { -#endif + /// Creates a security handshaker using \a handshaker. grpc_handshaker* grpc_security_handshaker_create( @@ -35,8 +33,6 @@ grpc_handshaker* grpc_security_handshaker_create( /// Registers security handshaker factories. void grpc_security_register_handshaker_factories(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_HANDSHAKER_H */ diff --git a/src/core/lib/security/transport/tsi_error.h b/src/core/lib/security/transport/tsi_error.h index 4e8418f3fd..9dd7ab4a4e 100644 --- a/src/core/lib/security/transport/tsi_error.h +++ b/src/core/lib/security/transport/tsi_error.h @@ -22,14 +22,10 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_error* grpc_set_tsi_error_result(grpc_error* error, tsi_result result); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */ diff --git a/src/core/lib/security/util/json_util.h b/src/core/lib/security/util/json_util.h index 7538f76120..f99edcd153 100644 --- a/src/core/lib/security/util/json_util.h +++ b/src/core/lib/security/util/json_util.h @@ -28,9 +28,7 @@ #define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account" #define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user" -#ifdef __cplusplus -extern "C" { -#endif + // Gets a child property from a json node. const char* grpc_json_get_string_property(const grpc_json* json, @@ -41,8 +39,6 @@ const char* grpc_json_get_string_property(const grpc_json* json, bool grpc_copy_json_string_property(const grpc_json* json, const char* prop_name, char** copied_value); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SECURITY_UTIL_JSON_UTIL_H */ diff --git a/src/core/lib/slice/b64.h b/src/core/lib/slice/b64.h index 467f5d848a..09a8418fd5 100644 --- a/src/core/lib/slice/b64.h +++ b/src/core/lib/slice/b64.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Encodes data using base64. It is the caller's responsability to free the returned char * using gpr_free. Returns NULL on NULL input. @@ -51,8 +49,6 @@ grpc_slice grpc_base64_decode(grpc_exec_ctx* exec_ctx, const char* b64, grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx* exec_ctx, const char* b64, size_t b64_len, int url_safe); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_B64_H */ diff --git a/src/core/lib/slice/percent_encoding.h b/src/core/lib/slice/percent_encoding.h index 22b5e8df31..e7cd0cd2c9 100644 --- a/src/core/lib/slice/percent_encoding.h +++ b/src/core/lib/slice/percent_encoding.h @@ -30,9 +30,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* URL percent encoding spec bitfield (usabel as 'unreserved_bytes' in grpc_percent_encode_slice, grpc_strict_percent_decode_slice). @@ -64,8 +62,6 @@ bool grpc_strict_percent_decode_slice(grpc_slice slice_in, This cannot fail. */ grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_PERCENT_ENCODING_H */ diff --git a/src/core/lib/slice/slice_hash_table.h b/src/core/lib/slice/slice_hash_table.h index f86f25ea7c..99a3928eeb 100644 --- a/src/core/lib/slice/slice_hash_table.h +++ b/src/core/lib/slice/slice_hash_table.h @@ -19,9 +19,7 @@ #include "src/core/lib/transport/metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + /** Hash table implementation. * @@ -71,8 +69,6 @@ void* grpc_slice_hash_table_get(const grpc_slice_hash_table* table, int grpc_slice_hash_table_cmp(const grpc_slice_hash_table* a, const grpc_slice_hash_table* b); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_SLICE_HASH_TABLE_H */ diff --git a/src/core/lib/slice/slice_internal.h b/src/core/lib/slice/slice_internal.h index 2439fc0826..01c0dee87f 100644 --- a/src/core/lib/slice/slice_internal.h +++ b/src/core/lib/slice/slice_internal.h @@ -24,9 +24,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_slice grpc_slice_ref_internal(grpc_slice slice); void grpc_slice_unref_internal(grpc_exec_ctx* exec_ctx, grpc_slice slice); @@ -50,8 +48,6 @@ grpc_slice grpc_slice_maybe_static_intern(grpc_slice slice, uint32_t grpc_static_slice_hash(grpc_slice s); int grpc_static_slice_eq(grpc_slice a, grpc_slice b); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_SLICE_INTERNAL_H */ diff --git a/src/core/lib/slice/slice_string_helpers.h b/src/core/lib/slice/slice_string_helpers.h index acbc41e711..afbd90331e 100644 --- a/src/core/lib/slice/slice_string_helpers.h +++ b/src/core/lib/slice/slice_string_helpers.h @@ -28,9 +28,7 @@ #include "src/core/lib/support/string.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Calls gpr_dump on a slice. */ char* grpc_dump_slice(grpc_slice slice, uint32_t flags); @@ -41,8 +39,6 @@ void grpc_slice_split(grpc_slice str, const char* sep, grpc_slice_buffer* dst); bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t* result); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_SLICE_STRING_HELPERS_H */ diff --git a/src/core/lib/slice/slice_traits.h b/src/core/lib/slice/slice_traits.h index 7fdb6752cb..6e314a363b 100644 --- a/src/core/lib/slice/slice_traits.h +++ b/src/core/lib/slice/slice_traits.h @@ -22,16 +22,12 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + bool grpc_slice_is_legal_header(grpc_slice s); bool grpc_slice_is_legal_nonbin_header(grpc_slice s); bool grpc_slice_is_bin_suffixed(grpc_slice s); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SLICE_SLICE_TRAITS_H */ diff --git a/src/core/lib/support/arena.h b/src/core/lib/support/arena.h index 4d43c56bb9..9984c53fea 100644 --- a/src/core/lib/support/arena.h +++ b/src/core/lib/support/arena.h @@ -27,9 +27,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gpr_arena gpr_arena; @@ -40,8 +38,6 @@ void* gpr_arena_alloc(gpr_arena* arena, size_t size); // Destroy an arena, returning the total number of bytes allocated size_t gpr_arena_destroy(gpr_arena* arena); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_ARENA_H */ diff --git a/src/core/lib/support/env.h b/src/core/lib/support/env.h index f50d7bcb7a..fe51b70835 100644 --- a/src/core/lib/support/env.h +++ b/src/core/lib/support/env.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Env utility functions */ @@ -42,8 +40,6 @@ void gpr_setenv(const char* name, const char* value); level of logging. So DO NOT USE THIS. */ const char* gpr_getenv_silent(const char* name, char** dst); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_ENV_H */ diff --git a/src/core/lib/support/log.cc b/src/core/lib/support/log.cc index e9adc6c349..2a40745e97 100644 --- a/src/core/lib/support/log.cc +++ b/src/core/lib/support/log.cc @@ -27,7 +27,7 @@ #include #include -extern "C" void gpr_default_log(gpr_log_func_args* args); +void gpr_default_log(gpr_log_func_args* args); static gpr_atm g_log_func = (gpr_atm)gpr_default_log; static gpr_atm g_min_severity_to_print = GPR_LOG_VERBOSITY_UNSET; diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index 73d24cd84d..648a016b50 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -39,7 +39,7 @@ static android_LogPriority severity_to_log_priority(gpr_log_severity severity) { return ANDROID_LOG_DEFAULT; } -extern "C" void gpr_log(const char* file, int line, gpr_log_severity severity, +void gpr_log(const char* file, int line, gpr_log_severity severity, const char* format, ...) { char* message = NULL; va_list args; @@ -50,7 +50,7 @@ extern "C" void gpr_log(const char* file, int line, gpr_log_severity severity, free(message); } -extern "C" void gpr_default_log(gpr_log_func_args* args) { +void gpr_default_log(gpr_log_func_args* args) { const char* final_slash; const char* display_file; char* output = NULL; diff --git a/src/core/lib/support/log_linux.cc b/src/core/lib/support/log_linux.cc index e0e277fe87..6b1f1c71e4 100644 --- a/src/core/lib/support/log_linux.cc +++ b/src/core/lib/support/log_linux.cc @@ -56,7 +56,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity, free(message); } -extern "C" void gpr_default_log(gpr_log_func_args* args) { +void gpr_default_log(gpr_log_func_args* args) { const char* final_slash; char* prefix; const char* display_file; diff --git a/src/core/lib/support/log_posix.cc b/src/core/lib/support/log_posix.cc index e765f91390..9fab480a8d 100644 --- a/src/core/lib/support/log_posix.cc +++ b/src/core/lib/support/log_posix.cc @@ -56,7 +56,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity, gpr_free(allocated); } -extern "C" void gpr_default_log(gpr_log_func_args* args) { +void gpr_default_log(gpr_log_func_args* args) { const char* final_slash; const char* display_file; char time_buffer[64]; diff --git a/src/core/lib/support/log_windows.cc b/src/core/lib/support/log_windows.cc index d4481791e2..0013bf448f 100644 --- a/src/core/lib/support/log_windows.cc +++ b/src/core/lib/support/log_windows.cc @@ -65,7 +65,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity, } /* Simple starter implementation */ -extern "C" void gpr_default_log(gpr_log_func_args* args) { +void gpr_default_log(gpr_log_func_args* args) { const char* final_slash; const char* display_file; char time_buffer[64]; diff --git a/src/core/lib/support/mpscq.h b/src/core/lib/support/mpscq.h index fb22742050..743a62b325 100644 --- a/src/core/lib/support/mpscq.h +++ b/src/core/lib/support/mpscq.h @@ -24,9 +24,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + // Multiple-producer single-consumer lock free queue, based upon the // implementation from Dmitry Vyukov here: @@ -84,8 +82,6 @@ gpr_mpscq_node* gpr_locked_mpscq_try_pop(gpr_locked_mpscq* q); // Pop a node. Returns NULL only if the queue was empty at some point after // calling this function gpr_mpscq_node* gpr_locked_mpscq_pop(gpr_locked_mpscq* q); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_MPSCQ_H */ diff --git a/src/core/lib/support/murmur_hash.h b/src/core/lib/support/murmur_hash.h index d02bba6962..c28e58af27 100644 --- a/src/core/lib/support/murmur_hash.h +++ b/src/core/lib/support/murmur_hash.h @@ -23,15 +23,11 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* compute the hash of key (length len) */ uint32_t gpr_murmur_hash3(const void* key, size_t len, uint32_t seed); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */ diff --git a/src/core/lib/support/stack_lockfree.h b/src/core/lib/support/stack_lockfree.h index 337ecc2b17..ebefc7560c 100644 --- a/src/core/lib/support/stack_lockfree.h +++ b/src/core/lib/support/stack_lockfree.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gpr_stack_lockfree gpr_stack_lockfree; @@ -39,8 +37,6 @@ int gpr_stack_lockfree_push(gpr_stack_lockfree*, int entry); /* Returns -1 on empty or the actual entry number */ int gpr_stack_lockfree_pop(gpr_stack_lockfree* stack); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H */ diff --git a/src/core/lib/support/string.h b/src/core/lib/support/string.h index 0b18ffcec1..8f95f899ce 100644 --- a/src/core/lib/support/string.h +++ b/src/core/lib/support/string.h @@ -24,9 +24,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* String utility functions */ @@ -109,8 +107,6 @@ void* gpr_memrchr(const void* s, int c, size_t n); /** Return true if lower(s) equals "true", "yes" or "1", otherwise false. */ bool gpr_is_true(const char* s); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_STRING_H */ diff --git a/src/core/lib/support/string_windows.h b/src/core/lib/support/string_windows.h index 6771647581..18932e20a7 100644 --- a/src/core/lib/support/string_windows.h +++ b/src/core/lib/support/string_windows.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + #ifdef GPR_WINDOWS @@ -33,8 +31,6 @@ LPSTR gpr_tchar_to_char(LPCTSTR input); #endif /* GPR_WINDOWS */ -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H */ diff --git a/src/core/lib/support/time_posix.cc b/src/core/lib/support/time_posix.cc index 7f65205800..47a849480f 100644 --- a/src/core/lib/support/time_posix.cc +++ b/src/core/lib/support/time_posix.cc @@ -127,9 +127,7 @@ static gpr_timespec now_impl(gpr_clock_type clock) { } #endif -extern "C" { gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type) = now_impl; -} #ifdef GPR_LOW_LEVEL_COUNTERS gpr_atm gpr_now_call_count; diff --git a/src/core/lib/support/time_precise.h b/src/core/lib/support/time_precise.h index 3befda3d86..650df6ce67 100644 --- a/src/core/lib/support/time_precise.h +++ b/src/core/lib/support/time_precise.h @@ -21,15 +21,11 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + void gpr_precise_clock_init(void); void gpr_precise_clock_now(gpr_timespec* clk); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H */ diff --git a/src/core/lib/support/time_windows.cc b/src/core/lib/support/time_windows.cc index 08c1b22964..fb17e5c079 100644 --- a/src/core/lib/support/time_windows.cc +++ b/src/core/lib/support/time_windows.cc @@ -68,9 +68,7 @@ static gpr_timespec now_impl(gpr_clock_type clock) { return now_tv; } -extern "C" { gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type) = now_impl; -} gpr_timespec gpr_now(gpr_clock_type clock_type) { return gpr_now_impl(clock_type); diff --git a/src/core/lib/support/tmpfile.h b/src/core/lib/support/tmpfile.h index 437d871786..e28f4cb11f 100644 --- a/src/core/lib/support/tmpfile.h +++ b/src/core/lib/support/tmpfile.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Creates a temporary file from a prefix. If tmp_filename is not NULL, *tmp_filename is assigned the name of the @@ -31,8 +29,6 @@ extern "C" { unless an error occurs in which case it will be set to NULL. */ FILE* gpr_tmpfile(const char* prefix, char** tmp_filename); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SUPPORT_TMPFILE_H */ diff --git a/src/core/lib/surface/alarm_internal.h b/src/core/lib/surface/alarm_internal.h index 136b60547f..e4b9f34408 100644 --- a/src/core/lib/surface/alarm_internal.h +++ b/src/core/lib/surface/alarm_internal.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/debug/trace.h" -#ifdef __cplusplus -extern "C" { -#endif + #ifndef NDEBUG @@ -41,8 +39,6 @@ extern grpc_tracer_flag grpc_trace_alarm_refcount; #endif /* defined(NDEBUG) */ -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_ALARM_INTERNAL_H */ diff --git a/src/core/lib/surface/api_trace.h b/src/core/lib/surface/api_trace.h index 105abdf629..a72d80eaae 100644 --- a/src/core/lib/surface/api_trace.h +++ b/src/core/lib/surface/api_trace.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/debug/trace.h" -#ifdef __cplusplus -extern "C" { -#endif + extern grpc_tracer_flag grpc_api_trace; @@ -51,8 +49,6 @@ extern grpc_tracer_flag grpc_api_trace; gpr_log(GPR_INFO, fmt GRPC_API_TRACE_UNWRAP##nargs args); \ } -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_API_TRACE_H */ diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h index d4e596f84b..b30650781c 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_LIB_SURFACE_CALL_H #define GRPC_CORE_LIB_SURFACE_CALL_H -#ifdef __cplusplus -extern "C" { -#endif + #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/context.h" @@ -115,8 +113,6 @@ grpc_compression_algorithm grpc_call_compression_for_level( extern grpc_tracer_flag grpc_call_error_trace; extern grpc_tracer_flag grpc_compression_trace; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_CALL_H */ diff --git a/src/core/lib/surface/call_test_only.h b/src/core/lib/surface/call_test_only.h index 2ff4a487d5..c0815dc0f1 100644 --- a/src/core/lib/surface/call_test_only.h +++ b/src/core/lib/surface/call_test_only.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /** Return the compression algorithm from \a call. * @@ -54,8 +52,6 @@ uint32_t grpc_call_test_only_get_stream_encodings_accepted_by_peer( grpc_stream_compression_algorithm grpc_call_test_only_get_incoming_stream_encodings(grpc_call* call); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */ diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index 063e685f6b..c2786b50a2 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -23,9 +23,7 @@ #include "src/core/lib/channel/channel_stack_builder.h" #include "src/core/lib/surface/channel_stack_type.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_channel* grpc_channel_create(grpc_exec_ctx* exec_ctx, const char* target, const grpc_channel_args* args, @@ -85,8 +83,6 @@ void grpc_channel_internal_unref(grpc_exec_ctx* exec_ctx, grpc_compression_options grpc_channel_compression_options( const grpc_channel* channel); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */ diff --git a/src/core/lib/surface/channel_init.h b/src/core/lib/surface/channel_init.h index 9932781081..e09fe1fdb8 100644 --- a/src/core/lib/surface/channel_init.h +++ b/src/core/lib/surface/channel_init.h @@ -25,9 +25,7 @@ #define GRPC_CHANNEL_INIT_BUILTIN_PRIORITY 10000 -#ifdef __cplusplus -extern "C" { -#endif + /// This module provides a way for plugins (and the grpc core library itself) /// to register mutators for channel stacks. @@ -74,8 +72,6 @@ bool grpc_channel_init_create_stack(grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder, grpc_channel_stack_type type); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H */ diff --git a/src/core/lib/surface/channel_stack_type.h b/src/core/lib/surface/channel_stack_type.h index feecd3aa44..5a26248dfe 100644 --- a/src/core/lib/surface/channel_stack_type.h +++ b/src/core/lib/surface/channel_stack_type.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef enum { // normal top-half client channel with load-balancing, connection management @@ -46,8 +44,6 @@ bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type); const char* grpc_channel_stack_type_string(grpc_channel_stack_type type); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H */ diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h index 0ed9875f58..f4fa9a17f4 100644 --- a/src/core/lib/surface/completion_queue.h +++ b/src/core/lib/surface/completion_queue.h @@ -36,9 +36,7 @@ extern grpc_tracer_flag grpc_trace_pending_tags; extern grpc_tracer_flag grpc_trace_cq_refcount; #endif -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_cq_completion { gpr_mpscq_node node; @@ -98,8 +96,6 @@ int grpc_get_cq_poll_num(grpc_completion_queue* cc); grpc_completion_queue* grpc_completion_queue_create_internal( grpc_cq_completion_type completion_type, grpc_cq_polling_type polling_type); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H */ diff --git a/src/core/lib/surface/completion_queue_factory.h b/src/core/lib/surface/completion_queue_factory.h index af8f3d60c3..74c1c18b24 100644 --- a/src/core/lib/surface/completion_queue_factory.h +++ b/src/core/lib/surface/completion_queue_factory.h @@ -22,9 +22,7 @@ #include #include "src/core/lib/surface/completion_queue.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_completion_queue_factory_vtable { grpc_completion_queue* (*create)(const grpc_completion_queue_factory*, @@ -37,8 +35,6 @@ struct grpc_completion_queue_factory { grpc_completion_queue_factory_vtable* vtable; }; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_FACTORY_H */ diff --git a/src/core/lib/surface/event_string.h b/src/core/lib/surface/event_string.h index 4bdb11f35e..a763327862 100644 --- a/src/core/lib/surface/event_string.h +++ b/src/core/lib/surface/event_string.h @@ -21,15 +21,11 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + /* Returns a string describing an event. Must be later freed with gpr_free() */ char* grpc_event_string(grpc_event* ev); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_EVENT_STRING_H */ diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index d429026327..c2969f972d 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -19,17 +19,13 @@ #ifndef GRPC_CORE_LIB_SURFACE_INIT_H #define GRPC_CORE_LIB_SURFACE_INIT_H -#ifdef __cplusplus -extern "C" { -#endif + void grpc_register_security_filters(void); void grpc_security_pre_init(void); void grpc_security_init(void); int grpc_is_initialized(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ diff --git a/src/core/lib/surface/lame_client.cc b/src/core/lib/surface/lame_client.cc index 7114a9f545..c32c9af50e 100644 --- a/src/core/lib/surface/lame_client.cc +++ b/src/core/lib/surface/lame_client.cc @@ -25,7 +25,6 @@ #include "src/core/lib/support/atomic.h" -extern "C" { #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/api_trace.h" @@ -33,7 +32,6 @@ extern "C" { #include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/lame_client.h" #include "src/core/lib/transport/static_metadata.h" -} namespace grpc_core { @@ -146,7 +144,7 @@ static void destroy_channel_elem(grpc_exec_ctx* exec_ctx, } // namespace grpc_core -extern "C" const grpc_channel_filter grpc_lame_filter = { +const grpc_channel_filter grpc_lame_filter = { grpc_core::lame_start_transport_stream_op_batch, grpc_core::lame_start_transport_op, sizeof(grpc_core::CallData), diff --git a/src/core/lib/surface/lame_client.h b/src/core/lib/surface/lame_client.h index 2f6f9cd046..964e625f28 100644 --- a/src/core/lib/surface/lame_client.h +++ b/src/core/lib/surface/lame_client.h @@ -21,14 +21,10 @@ #include "src/core/lib/channel/channel_stack.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_lame_filter; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H */ diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h index e3c43f957d..e515e3099d 100644 --- a/src/core/lib/surface/server.h +++ b/src/core/lib/surface/server.h @@ -24,9 +24,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + extern const grpc_channel_filter grpc_server_top_filter; @@ -58,8 +56,6 @@ int grpc_server_has_open_connections(grpc_server* server); void grpc_server_get_pollsets(grpc_server* server, grpc_pollset*** pollsets, size_t* pollset_count); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_SERVER_H */ diff --git a/src/core/lib/surface/validate_metadata.h b/src/core/lib/surface/validate_metadata.h index 9ca20692b5..30941b5f83 100644 --- a/src/core/lib/surface/validate_metadata.h +++ b/src/core/lib/surface/validate_metadata.h @@ -22,15 +22,11 @@ #include #include "src/core/lib/iomgr/error.h" -#ifdef __cplusplus -extern "C" { -#endif + grpc_error* grpc_validate_header_key_is_legal(grpc_slice slice); grpc_error* grpc_validate_header_nonbin_value_is_legal(grpc_slice slice); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_SURFACE_VALIDATE_METADATA_H */ diff --git a/src/core/lib/transport/byte_stream.h b/src/core/lib/transport/byte_stream.h index 54ad4b9796..8b660b3287 100644 --- a/src/core/lib/transport/byte_stream.h +++ b/src/core/lib/transport/byte_stream.h @@ -28,9 +28,7 @@ /** Mask of all valid internal flags. */ #define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS) -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_byte_stream grpc_byte_stream; @@ -139,8 +137,6 @@ void grpc_caching_byte_stream_init(grpc_caching_byte_stream* stream, // Resets the byte stream to the start of the underlying stream. void grpc_caching_byte_stream_reset(grpc_caching_byte_stream* stream); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */ diff --git a/src/core/lib/transport/connectivity_state.h b/src/core/lib/transport/connectivity_state.h index 792e27c43d..2d8dd14881 100644 --- a/src/core/lib/transport/connectivity_state.h +++ b/src/core/lib/transport/connectivity_state.h @@ -23,9 +23,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_connectivity_state_watcher { /** we keep watchers in a linked list */ @@ -88,8 +86,6 @@ bool grpc_connectivity_state_notify_on_state_change( grpc_exec_ctx* exec_ctx, grpc_connectivity_state_tracker* tracker, grpc_connectivity_state* current, grpc_closure* notify); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */ diff --git a/src/core/lib/transport/error_utils.h b/src/core/lib/transport/error_utils.h index 690e42058a..9cd1bc57d2 100644 --- a/src/core/lib/transport/error_utils.h +++ b/src/core/lib/transport/error_utils.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" -#ifdef __cplusplus -extern "C" { -#endif + /// A utility function to get the status code and message to be returned /// to the application. If not set in the top-level message, looks @@ -44,8 +42,6 @@ void grpc_error_get_status(grpc_exec_ctx* exec_ctx, grpc_error* error, /// GRPC_ERROR_CANCELLED bool grpc_error_has_clear_grpc_status(grpc_error* error); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H */ diff --git a/src/core/lib/transport/metadata.h b/src/core/lib/transport/metadata.h index 7e7e7b4c14..077b4ce0c5 100644 --- a/src/core/lib/transport/metadata.h +++ b/src/core/lib/transport/metadata.h @@ -29,9 +29,7 @@ extern grpc_tracer_flag grpc_trace_metadata; #endif -#ifdef __cplusplus -extern "C" { -#endif + /* This file provides a mechanism for tracking metadata through the grpc stack. It's not intended for consumption outside of the library. @@ -170,8 +168,6 @@ void grpc_mdelem_unref(grpc_exec_ctx* exec_ctx, grpc_mdelem md); void grpc_mdctx_global_init(void); void grpc_mdctx_global_shutdown(grpc_exec_ctx* exec_ctx); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_H */ diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index 7d17393249..cae79bf694 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -28,9 +28,7 @@ #include "src/core/lib/transport/metadata.h" #include "src/core/lib/transport/static_metadata.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_linked_mdelem { grpc_mdelem md; @@ -146,8 +144,6 @@ void grpc_metadata_batch_assert_ok(grpc_metadata_batch* comd); } while (0) #endif -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_BATCH_H */ diff --git a/src/core/lib/transport/service_config.h b/src/core/lib/transport/service_config.h index 405d0f5b41..7abd278c19 100644 --- a/src/core/lib/transport/service_config.h +++ b/src/core/lib/transport/service_config.h @@ -22,9 +22,7 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/slice/slice_hash_table.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_service_config grpc_service_config; @@ -64,8 +62,6 @@ void* grpc_method_config_table_get(grpc_exec_ctx* exec_ctx, const grpc_slice_hash_table* table, grpc_slice path); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_SERVICE_CONFIG_H */ diff --git a/src/core/lib/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h index 8e73d5f278..d1a962461f 100644 --- a/src/core/lib/transport/static_metadata.h +++ b/src/core/lib/transport/static_metadata.h @@ -27,9 +27,7 @@ #ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H #define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H -#ifdef __cplusplus -extern "C" { -#endif + #include "src/core/lib/transport/metadata.h" @@ -588,7 +586,5 @@ extern const uint8_t grpc_static_accept_stream_encoding_metadata[4]; (GRPC_MAKE_MDELEM(&grpc_static_mdelem_table \ [grpc_static_accept_stream_encoding_metadata[(algs)]], \ GRPC_MDELEM_STORAGE_STATIC)) -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */ diff --git a/src/core/lib/transport/status_conversion.h b/src/core/lib/transport/status_conversion.h index b6fcebd4fa..70387539c5 100644 --- a/src/core/lib/transport/status_conversion.h +++ b/src/core/lib/transport/status_conversion.h @@ -23,9 +23,7 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */ grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status); @@ -37,8 +35,6 @@ grpc_status_code grpc_http2_error_to_grpc_status(grpc_exec_ctx* exec_ctx, grpc_status_code grpc_http2_status_to_grpc_status(int status); int grpc_status_to_http2_status(grpc_status_code status); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H */ diff --git a/src/core/lib/transport/timeout_encoding.h b/src/core/lib/transport/timeout_encoding.h index 9c3c4599c9..4e5034ff15 100644 --- a/src/core/lib/transport/timeout_encoding.h +++ b/src/core/lib/transport/timeout_encoding.h @@ -27,17 +27,13 @@ #define GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1) -#ifdef __cplusplus -extern "C" { -#endif + /* Encode/decode timeouts to the GRPC over HTTP/2 format; encoding may round up arbitrarily */ void grpc_http2_encode_timeout(grpc_millis timeout, char* buffer); int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_TIMEOUT_ENCODING_H */ diff --git a/src/core/lib/transport/transport.h b/src/core/lib/transport/transport.h index 973018e5a5..01f03121b6 100644 --- a/src/core/lib/transport/transport.h +++ b/src/core/lib/transport/transport.h @@ -31,9 +31,7 @@ #include "src/core/lib/transport/byte_stream.h" #include "src/core/lib/transport/metadata_batch.h" -#ifdef __cplusplus -extern "C" { -#endif + /* forward declarations */ typedef struct grpc_transport grpc_transport; @@ -352,8 +350,6 @@ grpc_transport_op* grpc_make_transport_op(grpc_closure* on_consumed); grpc_transport_stream_op_batch* grpc_make_transport_stream_op( grpc_closure* on_consumed); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H */ diff --git a/src/core/lib/transport/transport_impl.h b/src/core/lib/transport/transport_impl.h index 22ad599e2e..5dedc25707 100644 --- a/src/core/lib/transport/transport_impl.h +++ b/src/core/lib/transport/transport_impl.h @@ -21,9 +21,7 @@ #include "src/core/lib/transport/transport.h" -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_transport_vtable { /* Memory required for a single stream element - this is allocated by upper @@ -73,8 +71,6 @@ struct grpc_transport { const grpc_transport_vtable* vtable; }; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */ diff --git a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc index e0422f6750..101e29c481 100644 --- a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc +++ b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc @@ -18,18 +18,18 @@ #include -extern "C" void grpc_http_filters_init(void); -extern "C" void grpc_http_filters_shutdown(void); -extern "C" void grpc_chttp2_plugin_init(void); -extern "C" void grpc_chttp2_plugin_shutdown(void); -extern "C" void grpc_deadline_filter_init(void); -extern "C" void grpc_deadline_filter_shutdown(void); -extern "C" void grpc_client_channel_init(void); -extern "C" void grpc_client_channel_shutdown(void); -extern "C" void grpc_tsi_gts_init(void); -extern "C" void grpc_tsi_gts_shutdown(void); -extern "C" void grpc_server_load_reporting_plugin_init(void); -extern "C" void grpc_server_load_reporting_plugin_shutdown(void); +void grpc_http_filters_init(void); +void grpc_http_filters_shutdown(void); +void grpc_chttp2_plugin_init(void); +void grpc_chttp2_plugin_shutdown(void); +void grpc_deadline_filter_init(void); +void grpc_deadline_filter_shutdown(void); +void grpc_client_channel_init(void); +void grpc_client_channel_shutdown(void); +void grpc_tsi_gts_init(void); +void grpc_tsi_gts_shutdown(void); +void grpc_server_load_reporting_plugin_init(void); +void grpc_server_load_reporting_plugin_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/core/plugin_registry/grpc_plugin_registry.cc b/src/core/plugin_registry/grpc_plugin_registry.cc index 339c9bb367..89be351785 100644 --- a/src/core/plugin_registry/grpc_plugin_registry.cc +++ b/src/core/plugin_registry/grpc_plugin_registry.cc @@ -18,40 +18,40 @@ #include -extern "C" void grpc_http_filters_init(void); -extern "C" void grpc_http_filters_shutdown(void); -extern "C" void grpc_chttp2_plugin_init(void); -extern "C" void grpc_chttp2_plugin_shutdown(void); -extern "C" void grpc_tsi_gts_init(void); -extern "C" void grpc_tsi_gts_shutdown(void); -extern "C" void grpc_deadline_filter_init(void); -extern "C" void grpc_deadline_filter_shutdown(void); -extern "C" void grpc_client_channel_init(void); -extern "C" void grpc_client_channel_shutdown(void); -extern "C" void grpc_inproc_plugin_init(void); -extern "C" void grpc_inproc_plugin_shutdown(void); -extern "C" void grpc_resolver_fake_init(void); -extern "C" void grpc_resolver_fake_shutdown(void); -extern "C" void grpc_lb_policy_grpclb_init(void); -extern "C" void grpc_lb_policy_grpclb_shutdown(void); -extern "C" void grpc_lb_policy_pick_first_init(void); -extern "C" void grpc_lb_policy_pick_first_shutdown(void); -extern "C" void grpc_lb_policy_round_robin_init(void); -extern "C" void grpc_lb_policy_round_robin_shutdown(void); -extern "C" void grpc_resolver_dns_ares_init(void); -extern "C" void grpc_resolver_dns_ares_shutdown(void); -extern "C" void grpc_resolver_dns_native_init(void); -extern "C" void grpc_resolver_dns_native_shutdown(void); -extern "C" void grpc_resolver_sockaddr_init(void); -extern "C" void grpc_resolver_sockaddr_shutdown(void); -extern "C" void grpc_server_load_reporting_plugin_init(void); -extern "C" void grpc_server_load_reporting_plugin_shutdown(void); -extern "C" void grpc_max_age_filter_init(void); -extern "C" void grpc_max_age_filter_shutdown(void); -extern "C" void grpc_message_size_filter_init(void); -extern "C" void grpc_message_size_filter_shutdown(void); -extern "C" void grpc_workaround_cronet_compression_filter_init(void); -extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void); +void grpc_http_filters_init(void); +void grpc_http_filters_shutdown(void); +void grpc_chttp2_plugin_init(void); +void grpc_chttp2_plugin_shutdown(void); +void grpc_tsi_gts_init(void); +void grpc_tsi_gts_shutdown(void); +void grpc_deadline_filter_init(void); +void grpc_deadline_filter_shutdown(void); +void grpc_client_channel_init(void); +void grpc_client_channel_shutdown(void); +void grpc_inproc_plugin_init(void); +void grpc_inproc_plugin_shutdown(void); +void grpc_resolver_fake_init(void); +void grpc_resolver_fake_shutdown(void); +void grpc_lb_policy_grpclb_init(void); +void grpc_lb_policy_grpclb_shutdown(void); +void grpc_lb_policy_pick_first_init(void); +void grpc_lb_policy_pick_first_shutdown(void); +void grpc_lb_policy_round_robin_init(void); +void grpc_lb_policy_round_robin_shutdown(void); +void grpc_resolver_dns_ares_init(void); +void grpc_resolver_dns_ares_shutdown(void); +void grpc_resolver_dns_native_init(void); +void grpc_resolver_dns_native_shutdown(void); +void grpc_resolver_sockaddr_init(void); +void grpc_resolver_sockaddr_shutdown(void); +void grpc_server_load_reporting_plugin_init(void); +void grpc_server_load_reporting_plugin_shutdown(void); +void grpc_max_age_filter_init(void); +void grpc_max_age_filter_shutdown(void); +void grpc_message_size_filter_init(void); +void grpc_message_size_filter_shutdown(void); +void grpc_workaround_cronet_compression_filter_init(void); +void grpc_workaround_cronet_compression_filter_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc index c9fc17d34d..d73f946241 100644 --- a/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc +++ b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc @@ -18,38 +18,38 @@ #include -extern "C" void grpc_http_filters_init(void); -extern "C" void grpc_http_filters_shutdown(void); -extern "C" void grpc_chttp2_plugin_init(void); -extern "C" void grpc_chttp2_plugin_shutdown(void); -extern "C" void grpc_deadline_filter_init(void); -extern "C" void grpc_deadline_filter_shutdown(void); -extern "C" void grpc_client_channel_init(void); -extern "C" void grpc_client_channel_shutdown(void); -extern "C" void grpc_inproc_plugin_init(void); -extern "C" void grpc_inproc_plugin_shutdown(void); -extern "C" void grpc_resolver_dns_ares_init(void); -extern "C" void grpc_resolver_dns_ares_shutdown(void); -extern "C" void grpc_resolver_dns_native_init(void); -extern "C" void grpc_resolver_dns_native_shutdown(void); -extern "C" void grpc_resolver_sockaddr_init(void); -extern "C" void grpc_resolver_sockaddr_shutdown(void); -extern "C" void grpc_resolver_fake_init(void); -extern "C" void grpc_resolver_fake_shutdown(void); -extern "C" void grpc_server_load_reporting_plugin_init(void); -extern "C" void grpc_server_load_reporting_plugin_shutdown(void); -extern "C" void grpc_lb_policy_grpclb_init(void); -extern "C" void grpc_lb_policy_grpclb_shutdown(void); -extern "C" void grpc_lb_policy_pick_first_init(void); -extern "C" void grpc_lb_policy_pick_first_shutdown(void); -extern "C" void grpc_lb_policy_round_robin_init(void); -extern "C" void grpc_lb_policy_round_robin_shutdown(void); -extern "C" void grpc_max_age_filter_init(void); -extern "C" void grpc_max_age_filter_shutdown(void); -extern "C" void grpc_message_size_filter_init(void); -extern "C" void grpc_message_size_filter_shutdown(void); -extern "C" void grpc_workaround_cronet_compression_filter_init(void); -extern "C" void grpc_workaround_cronet_compression_filter_shutdown(void); +void grpc_http_filters_init(void); +void grpc_http_filters_shutdown(void); +void grpc_chttp2_plugin_init(void); +void grpc_chttp2_plugin_shutdown(void); +void grpc_deadline_filter_init(void); +void grpc_deadline_filter_shutdown(void); +void grpc_client_channel_init(void); +void grpc_client_channel_shutdown(void); +void grpc_inproc_plugin_init(void); +void grpc_inproc_plugin_shutdown(void); +void grpc_resolver_dns_ares_init(void); +void grpc_resolver_dns_ares_shutdown(void); +void grpc_resolver_dns_native_init(void); +void grpc_resolver_dns_native_shutdown(void); +void grpc_resolver_sockaddr_init(void); +void grpc_resolver_sockaddr_shutdown(void); +void grpc_resolver_fake_init(void); +void grpc_resolver_fake_shutdown(void); +void grpc_server_load_reporting_plugin_init(void); +void grpc_server_load_reporting_plugin_shutdown(void); +void grpc_lb_policy_grpclb_init(void); +void grpc_lb_policy_grpclb_shutdown(void); +void grpc_lb_policy_pick_first_init(void); +void grpc_lb_policy_pick_first_shutdown(void); +void grpc_lb_policy_round_robin_init(void); +void grpc_lb_policy_round_robin_shutdown(void); +void grpc_max_age_filter_init(void); +void grpc_max_age_filter_shutdown(void); +void grpc_message_size_filter_init(void); +void grpc_message_size_filter_shutdown(void); +void grpc_workaround_cronet_compression_filter_init(void); +void grpc_workaround_cronet_compression_filter_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_http_filters_init, diff --git a/src/core/tsi/fake_transport_security.h b/src/core/tsi/fake_transport_security.h index b90b9962f7..2a6edba003 100644 --- a/src/core/tsi/fake_transport_security.h +++ b/src/core/tsi/fake_transport_security.h @@ -21,9 +21,7 @@ #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for FAKE certs. */ #define TSI_FAKE_CERTIFICATE_TYPE "FAKE" @@ -44,8 +42,6 @@ tsi_frame_protector* tsi_create_fake_frame_protector( tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector( size_t* max_protected_frame_size); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/gts_transport_security.cc b/src/core/tsi/gts_transport_security.cc index d5948c9516..2b099773c4 100644 --- a/src/core/tsi/gts_transport_security.cc +++ b/src/core/tsi/gts_transport_security.cc @@ -24,12 +24,12 @@ static gts_shared_resource g_gts_resource; gts_shared_resource* gts_get_shared_resource(void) { return &g_gts_resource; } -extern "C" void grpc_tsi_gts_init() { +void grpc_tsi_gts_init() { memset(&g_gts_resource, 0, sizeof(gts_shared_resource)); gpr_mu_init(&g_gts_resource.mu); } -extern "C" void grpc_tsi_gts_shutdown() { +void grpc_tsi_gts_shutdown() { gpr_mu_destroy(&g_gts_resource.mu); if (g_gts_resource.cq == nullptr) { return; diff --git a/src/core/tsi/gts_transport_security.h b/src/core/tsi/gts_transport_security.h index 8bc2107270..aca03b0d27 100644 --- a/src/core/tsi/gts_transport_security.h +++ b/src/core/tsi/gts_transport_security.h @@ -23,9 +23,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct gts_shared_resource { gpr_thd_id thread_id; @@ -38,8 +36,6 @@ typedef struct gts_shared_resource { * TSI handshakes. */ gts_shared_resource* gts_get_shared_resource(void); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h index 595c4ccaec..e6011f71a4 100644 --- a/src/core/tsi/ssl_transport_security.h +++ b/src/core/tsi/ssl_transport_security.h @@ -21,9 +21,7 @@ #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for X509 certs. */ #define TSI_X509_CERTIFICATE_TYPE "X509" @@ -193,8 +191,6 @@ const tsi_ssl_handshaker_factory_vtable* tsi_ssl_handshaker_factory_swap_vtable( tsi_ssl_handshaker_factory* factory, tsi_ssl_handshaker_factory_vtable* new_vtable); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/ssl_types.h b/src/core/tsi/ssl_types.h index e0e967034b..06e6b44da9 100644 --- a/src/core/tsi/ssl_types.h +++ b/src/core/tsi/ssl_types.h @@ -19,9 +19,7 @@ #ifndef GRPC_CORE_TSI_SSL_TYPES_H #define GRPC_CORE_TSI_SSL_TYPES_H -#ifdef __cplusplus -extern "C" { -#endif + /* A collection of macros to cast between various integer types that are * used differently between BoringSSL and OpenSSL: @@ -41,8 +39,6 @@ extern "C" { #define TSI_SIZE_AS_SIZE(x) ((int)(x)) #endif -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_SSL_TYPES_H */ diff --git a/src/core/tsi/transport_security.h b/src/core/tsi/transport_security.h index d639f857fe..9292e03813 100644 --- a/src/core/tsi/transport_security.h +++ b/src/core/tsi/transport_security.h @@ -24,9 +24,7 @@ #include "src/core/lib/debug/trace.h" #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + extern grpc_tracer_flag tsi_tracing_enabled; @@ -126,8 +124,6 @@ tsi_result tsi_construct_string_peer_property_from_cstring( /* Utils. */ char* tsi_strdup(const char* src); /* Sadly, no strdup in C89. */ -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/transport_security_adapter.h b/src/core/tsi/transport_security_adapter.h index 232705f02c..d999af2821 100644 --- a/src/core/tsi/transport_security_adapter.h +++ b/src/core/tsi/transport_security_adapter.h @@ -21,9 +21,7 @@ #include "src/core/tsi/transport_security_interface.h" -#ifdef __cplusplus -extern "C" { -#endif + /* Create a tsi handshaker that takes an implementation of old interface and converts into an implementation of new interface. In the old interface, @@ -40,8 +38,6 @@ tsi_handshaker* tsi_create_adapter_handshaker(tsi_handshaker* wrapped); the caller. */ tsi_handshaker* tsi_adapter_handshaker_get_wrapped(tsi_handshaker* adapter); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_ADAPTER_H */ diff --git a/src/core/tsi/transport_security_grpc.h b/src/core/tsi/transport_security_grpc.h index 1c54693ec9..8ebee37b72 100644 --- a/src/core/tsi/transport_security_grpc.h +++ b/src/core/tsi/transport_security_grpc.h @@ -22,9 +22,7 @@ #include #include "src/core/tsi/transport_security.h" -#ifdef __cplusplus -extern "C" { -#endif + /* This method creates a tsi_zero_copy_grpc_protector object. It return TSI_OK assuming there is no fatal error. @@ -77,8 +75,6 @@ struct tsi_zero_copy_grpc_protector { const tsi_zero_copy_grpc_protector_vtable* vtable; }; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_GRPC_H */ diff --git a/src/core/tsi/transport_security_interface.h b/src/core/tsi/transport_security_interface.h index 54942a6b2a..fa1924bb62 100644 --- a/src/core/tsi/transport_security_interface.h +++ b/src/core/tsi/transport_security_interface.h @@ -24,9 +24,7 @@ #include "src/core/lib/debug/trace.h" -#ifdef __cplusplus -extern "C" { -#endif + /* --- tsi result --- */ @@ -453,8 +451,6 @@ void tsi_init(); /* This method destroys the shared objects created by tsi_init. */ void tsi_destroy(); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H */ diff --git a/src/cpp/common/channel_arguments.cc b/src/cpp/common/channel_arguments.cc index f89f5f1f03..cae9ef953a 100644 --- a/src/cpp/common/channel_arguments.cc +++ b/src/cpp/common/channel_arguments.cc @@ -23,11 +23,10 @@ #include #include #include -extern "C" { #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/socket_mutator.h" -} + namespace grpc { ChannelArguments::ChannelArguments() { diff --git a/src/cpp/common/channel_filter.cc b/src/cpp/common/channel_filter.cc index d1cfd2b48a..274079f8dd 100644 --- a/src/cpp/common/channel_filter.cc +++ b/src/cpp/common/channel_filter.cc @@ -18,9 +18,7 @@ #include -extern "C" { #include "src/core/lib/channel/channel_stack.h" -} #include "src/cpp/common/channel_filter.h" #include diff --git a/src/cpp/common/channel_filter.h b/src/cpp/common/channel_filter.h index 4fb81ecb1e..9fe9cf0aea 100644 --- a/src/cpp/common/channel_filter.h +++ b/src/cpp/common/channel_filter.h @@ -26,11 +26,9 @@ #include #include -extern "C" { #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/surface/channel_init.h" #include "src/core/lib/transport/metadata_batch.h" -} /// An interface to define filters. /// diff --git a/src/cpp/common/core_codegen.cc b/src/cpp/common/core_codegen.cc index 3cbf08af9f..936d6996b2 100644 --- a/src/cpp/common/core_codegen.cc +++ b/src/cpp/common/core_codegen.cc @@ -33,9 +33,7 @@ #include "src/core/lib/profiling/timers.h" -extern "C" { struct grpc_byte_buffer; -} namespace grpc { diff --git a/templates/src/core/plugin_registry.template b/templates/src/core/plugin_registry.template index 8d7617129f..805ae9049f 100644 --- a/templates/src/core/plugin_registry.template +++ b/templates/src/core/plugin_registry.template @@ -25,8 +25,8 @@ template: | #include %for plugin in selected.plugins: - extern "C" void ${plugin}_init(void); - extern "C" void ${plugin}_shutdown(void); + void ${plugin}_init(void); + void ${plugin}_shutdown(void); %endfor void grpc_register_built_in_plugins(void) { diff --git a/test/core/end2end/cq_verifier.h b/test/core/end2end/cq_verifier.h index 0b3b3fb349..90c93f11f1 100644 --- a/test/core/end2end/cq_verifier.h +++ b/test/core/end2end/cq_verifier.h @@ -24,9 +24,7 @@ #include #include "test/core/util/test_config.h" -#ifdef __cplusplus -extern "C" { -#endif + /* A cq_verifier can verify that expected events arrive in a timely fashion on a single completion queue */ @@ -63,8 +61,6 @@ int contains_metadata(grpc_metadata_array* array, const char* key, int contains_metadata_slices(grpc_metadata_array* array, grpc_slice key, grpc_slice value); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_TEST_CORE_END2END_CQ_VERIFIER_H */ diff --git a/test/core/end2end/data/ssl_test_data.h b/test/core/end2end/data/ssl_test_data.h index e9c7dbceb2..558e6cfe97 100644 --- a/test/core/end2end/data/ssl_test_data.h +++ b/test/core/end2end/data/ssl_test_data.h @@ -19,9 +19,7 @@ #ifndef GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H #define GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H -#ifdef __cplusplus -extern "C" { -#endif + extern const char test_root_cert[]; extern const char test_server1_cert[]; @@ -31,8 +29,6 @@ extern const char test_self_signed_client_key[]; extern const char test_signed_client_cert[]; extern const char test_signed_client_key[]; -#ifdef __cplusplus -} -#endif + #endif /* GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H */ diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h index 33943a7271..a56c955d1b 100644 --- a/test/core/end2end/end2end_tests.h +++ b/test/core/end2end/end2end_tests.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_end2end_test_fixture grpc_end2end_test_fixture; typedef struct grpc_end2end_test_config grpc_end2end_test_config; @@ -78,8 +76,6 @@ const grpc_slice* get_host_override_slice(const char* str, void validate_host_override_string(const char* pattern, grpc_slice str, grpc_end2end_test_config config); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_TEST_CORE_END2END_END2END_TESTS_H */ diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc index b8ec12586e..f169a7dbed 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.cc +++ b/test/core/end2end/fuzzers/api_fuzzer.cc @@ -441,7 +441,7 @@ grpc_ares_request* my_dns_lookup_ares( // client connection // defined in tcp_client_posix.c -extern "C" void (*grpc_tcp_client_connect_impl)( +void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args, const grpc_resolved_address* addr, grpc_millis deadline); diff --git a/test/core/end2end/tests/no_logging.cc b/test/core/end2end/tests/no_logging.cc index 55d211c44a..bf8651221a 100644 --- a/test/core/end2end/tests/no_logging.cc +++ b/test/core/end2end/tests/no_logging.cc @@ -36,7 +36,7 @@ enum { TIMEOUT = 200000 }; static void* tag(intptr_t t) { return (void*)t; } -extern "C" void gpr_default_log(gpr_log_func_args* args); +void gpr_default_log(gpr_log_func_args* args); static void test_no_log(gpr_log_func_args* args) { char* message = nullptr; diff --git a/test/core/util/port.h b/test/core/util/port.h index 602099dea6..bb4fd91fee 100644 --- a/test/core/util/port.h +++ b/test/core/util/port.h @@ -19,9 +19,7 @@ #ifndef GRPC_TEST_CORE_UTIL_PORT_H #define GRPC_TEST_CORE_UTIL_PORT_H -#ifdef __cplusplus -extern "C" { -#endif + typedef struct grpc_pick_port_functions { int (*pick_unused_port_fn)(void); @@ -45,8 +43,6 @@ void grpc_recycle_unused_port(int port); /** Request the family of pick_port functions in \a functions be used. */ void grpc_set_pick_port_functions(grpc_pick_port_functions functions); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_TEST_CORE_UTIL_PORT_H */ diff --git a/test/core/util/test_config.h b/test/core/util/test_config.h index 4383fbfce8..adfec48662 100644 --- a/test/core/util/test_config.h +++ b/test/core/util/test_config.h @@ -21,9 +21,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif + extern int64_t g_fixture_slowdown_factor; extern int64_t g_poller_slowdown_factor; @@ -43,8 +41,6 @@ gpr_timespec grpc_timeout_milliseconds_to_deadline(int64_t time_ms); void grpc_test_init(int argc, char** argv); -#ifdef __cplusplus -} -#endif + #endif /* GRPC_TEST_CORE_UTIL_TEST_CONFIG_H */ diff --git a/test/cpp/client/client_channel_stress_test.cc b/test/cpp/client/client_channel_stress_test.cc index 8940f6ff9e..0954b28df0 100644 --- a/test/cpp/client/client_channel_stress_test.cc +++ b/test/cpp/client/client_channel_stress_test.cc @@ -34,10 +34,8 @@ #include #include -extern "C" { #include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" #include "src/core/lib/iomgr/sockaddr.h" -} #include "test/core/util/port.h" #include "test/core/util/test_config.h" diff --git a/test/cpp/interop/stress_test.cc b/test/cpp/interop/stress_test.cc index 028ff11b20..4b39dc3211 100644 --- a/test/cpp/interop/stress_test.cc +++ b/test/cpp/interop/stress_test.cc @@ -36,9 +36,7 @@ #include "test/cpp/util/metrics_server.h" #include "test/cpp/util/test_config.h" -extern "C" { extern void gpr_default_log(gpr_log_func_args* args); -} DEFINE_int32(metrics_port, 8081, "The metrics server port."); -- cgit v1.2.3 From 0e6b5b3ba315e636c38d2057c4d130a516740087 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Thu, 16 Nov 2017 16:09:02 -0800 Subject: Un extern the fuzzers --- src/core/lib/iomgr/tcp_client_uv.cc | 2 -- test/core/client_channel/uri_fuzzer_test.cc | 2 +- test/core/end2end/fuzzers/api_fuzzer.cc | 4 ++-- test/core/end2end/fuzzers/client_fuzzer.cc | 2 +- test/core/end2end/fuzzers/server_fuzzer.cc | 2 +- test/core/http/request_fuzzer.cc | 2 +- test/core/http/response_fuzzer.cc | 2 +- test/core/json/fuzzer.cc | 2 +- test/core/nanopb/fuzzer_response.cc | 2 +- test/core/nanopb/fuzzer_serverlist.cc | 2 +- test/core/security/ssl_server_fuzzer.cc | 2 +- test/core/slice/percent_decode_fuzzer.cc | 2 +- test/core/slice/percent_encode_fuzzer.cc | 2 +- test/core/transport/chttp2/hpack_parser_fuzzer_test.cc | 2 +- test/core/util/fuzzer_corpus_test.cc | 2 +- test/core/util/one_corpus_entry_fuzzer.cc | 2 +- 16 files changed, 16 insertions(+), 18 deletions(-) (limited to 'test') diff --git a/src/core/lib/iomgr/tcp_client_uv.cc b/src/core/lib/iomgr/tcp_client_uv.cc index 15345c8091..fc1ebbbefd 100644 --- a/src/core/lib/iomgr/tcp_client_uv.cc +++ b/src/core/lib/iomgr/tcp_client_uv.cc @@ -161,13 +161,11 @@ static void tcp_client_connect_impl(grpc_exec_ctx* exec_ctx, } // overridden by api_fuzzer.c -extern "C" { void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args, const grpc_resolved_address* addr, grpc_millis deadline) = tcp_client_connect_impl; -} void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, diff --git a/test/core/client_channel/uri_fuzzer_test.cc b/test/core/client_channel/uri_fuzzer_test.cc index ba31793ff3..f76c41d437 100644 --- a/test/core/client_channel/uri_fuzzer_test.cc +++ b/test/core/client_channel/uri_fuzzer_test.cc @@ -28,7 +28,7 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { char* s = static_cast(gpr_malloc(size + 1)); memcpy(s, data, size); s[size] = 0; diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc index f169a7dbed..9fab1a9382 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.cc +++ b/test/core/end2end/fuzzers/api_fuzzer.cc @@ -441,7 +441,7 @@ grpc_ares_request* my_dns_lookup_ares( // client connection // defined in tcp_client_posix.c -void (*grpc_tcp_client_connect_impl)( +extern void (*grpc_tcp_client_connect_impl)( grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep, grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args, const grpc_resolved_address* addr, grpc_millis deadline); @@ -740,7 +740,7 @@ static validator* make_finished_batch_validator(call_state* cs, return create_validator(finished_batch, bi); } -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); char* grpc_trace_fuzzer = gpr_getenv("GRPC_TRACE_FUZZER"); if (squelch && grpc_trace_fuzzer == nullptr) gpr_set_log_function(dont_log); diff --git a/test/core/end2end/fuzzers/client_fuzzer.cc b/test/core/end2end/fuzzers/client_fuzzer.cc index ebc8c2780d..89edaa5ec0 100644 --- a/test/core/end2end/fuzzers/client_fuzzer.cc +++ b/test/core/end2end/fuzzers/client_fuzzer.cc @@ -37,7 +37,7 @@ static void* tag(int n) { return (void*)(uintptr_t)n; } static void dont_log(gpr_log_func_args* args) {} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); diff --git a/test/core/end2end/fuzzers/server_fuzzer.cc b/test/core/end2end/fuzzers/server_fuzzer.cc index fb6477b579..b0221294dd 100644 --- a/test/core/end2end/fuzzers/server_fuzzer.cc +++ b/test/core/end2end/fuzzers/server_fuzzer.cc @@ -35,7 +35,7 @@ static int detag(void* p) { return (int)(uintptr_t)p; } static void dont_log(gpr_log_func_args* args) {} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); diff --git a/test/core/http/request_fuzzer.cc b/test/core/http/request_fuzzer.cc index 368ac1b49d..73f366cd9a 100644 --- a/test/core/http/request_fuzzer.cc +++ b/test/core/http/request_fuzzer.cc @@ -27,7 +27,7 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_request request; memset(&request, 0, sizeof(request)); diff --git a/test/core/http/response_fuzzer.cc b/test/core/http/response_fuzzer.cc index 2a793fddd4..6c1fea50ae 100644 --- a/test/core/http/response_fuzzer.cc +++ b/test/core/http/response_fuzzer.cc @@ -26,7 +26,7 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_response response; memset(&response, 0, sizeof(response)); diff --git a/test/core/json/fuzzer.cc b/test/core/json/fuzzer.cc index 6dafabb95b..fd9172ffba 100644 --- a/test/core/json/fuzzer.cc +++ b/test/core/json/fuzzer.cc @@ -29,7 +29,7 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { char* s; struct grpc_memory_counters counters; grpc_memory_counters_init(); diff --git a/test/core/nanopb/fuzzer_response.cc b/test/core/nanopb/fuzzer_response.cc index 7039c801cb..42826c18f3 100644 --- a/test/core/nanopb/fuzzer_response.cc +++ b/test/core/nanopb/fuzzer_response.cc @@ -28,7 +28,7 @@ bool leak_check = true; static void dont_log(gpr_log_func_args* args) {} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (squelch) gpr_set_log_function(dont_log); grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); grpc_grpclb_initial_response* response; diff --git a/test/core/nanopb/fuzzer_serverlist.cc b/test/core/nanopb/fuzzer_serverlist.cc index 0a6b1767a1..059e33d584 100644 --- a/test/core/nanopb/fuzzer_serverlist.cc +++ b/test/core/nanopb/fuzzer_serverlist.cc @@ -28,7 +28,7 @@ bool leak_check = true; static void dont_log(gpr_log_func_args* args) {} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (squelch) gpr_set_log_function(dont_log); grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); grpc_grpclb_serverlist* serverlist; diff --git a/test/core/security/ssl_server_fuzzer.cc b/test/core/security/ssl_server_fuzzer.cc index bbb2f6013e..a2d0f14de0 100644 --- a/test/core/security/ssl_server_fuzzer.cc +++ b/test/core/security/ssl_server_fuzzer.cc @@ -51,7 +51,7 @@ static void on_handshake_done(grpc_exec_ctx* exec_ctx, void* arg, GPR_ASSERT(error != GRPC_ERROR_NONE); } -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); if (leak_check) grpc_memory_counters_init(); diff --git a/test/core/slice/percent_decode_fuzzer.cc b/test/core/slice/percent_decode_fuzzer.cc index 3603177c47..e6458736d3 100644 --- a/test/core/slice/percent_decode_fuzzer.cc +++ b/test/core/slice/percent_decode_fuzzer.cc @@ -29,7 +29,7 @@ bool squelch = true; bool leak_check = true; -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { struct grpc_memory_counters counters; grpc_memory_counters_init(); grpc_slice input = grpc_slice_from_copied_buffer((const char*)data, size); diff --git a/test/core/slice/percent_encode_fuzzer.cc b/test/core/slice/percent_encode_fuzzer.cc index c8e3849fc8..776a998e51 100644 --- a/test/core/slice/percent_encode_fuzzer.cc +++ b/test/core/slice/percent_encode_fuzzer.cc @@ -51,7 +51,7 @@ static void test(const uint8_t* data, size_t size, const uint8_t* dict) { GPR_ASSERT(counters.total_size_relative == 0); } -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { test(data, size, grpc_url_percent_encoding_unreserved_bytes); test(data, size, grpc_compatible_percent_encoding_unreserved_bytes); return 0; diff --git a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc index 942f25e0b7..01230eb675 100644 --- a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc +++ b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc @@ -34,7 +34,7 @@ static void onhdr(grpc_exec_ctx* exec_ctx, void* ud, grpc_mdelem md) { } static void dont_log(gpr_log_func_args* args) {} -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); if (squelch) gpr_set_log_function(dont_log); grpc_init(); diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc index d7aea54262..4094fb8548 100644 --- a/test/core/util/fuzzer_corpus_test.cc +++ b/test/core/util/fuzzer_corpus_test.cc @@ -28,7 +28,7 @@ #include "src/core/lib/iomgr/load_file.h" #include "test/core/util/test_config.h" -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); extern "C" bool squelch; extern "C" bool leak_check; diff --git a/test/core/util/one_corpus_entry_fuzzer.cc b/test/core/util/one_corpus_entry_fuzzer.cc index c0b67da1e2..a5512636f7 100644 --- a/test/core/util/one_corpus_entry_fuzzer.cc +++ b/test/core/util/one_corpus_entry_fuzzer.cc @@ -21,7 +21,7 @@ #include #include "src/core/lib/iomgr/load_file.h" -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); +int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); extern bool squelch; extern bool leak_check; -- cgit v1.2.3 From 66dfcf59190f5e2116edf972196c5107c9d563be Mon Sep 17 00:00:00 2001 From: ncteisen Date: Thu, 16 Nov 2017 16:18:51 -0800 Subject: clang fmt --- src/core/ext/filters/client_channel/client_channel.h | 4 ---- src/core/ext/filters/client_channel/client_channel_factory.h | 4 ---- src/core/ext/filters/client_channel/connector.h | 4 ---- src/core/ext/filters/client_channel/http_connect_handshaker.h | 4 ---- src/core/ext/filters/client_channel/http_proxy.h | 4 ---- src/core/ext/filters/client_channel/lb_policy.h | 4 ---- .../client_channel/lb_policy/grpclb/client_load_reporting_filter.h | 4 ---- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h | 4 ---- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h | 4 ---- .../ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h | 4 ---- .../ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h | 4 ---- src/core/ext/filters/client_channel/lb_policy/subchannel_list.h | 4 ---- src/core/ext/filters/client_channel/lb_policy_factory.h | 4 ---- src/core/ext/filters/client_channel/lb_policy_registry.h | 4 ---- src/core/ext/filters/client_channel/parse_address.h | 4 ---- src/core/ext/filters/client_channel/proxy_mapper.h | 4 ---- src/core/ext/filters/client_channel/proxy_mapper_registry.h | 4 ---- src/core/ext/filters/client_channel/resolver.h | 4 ---- .../filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h | 4 ---- .../filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h | 4 ---- src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h | 4 ---- src/core/ext/filters/client_channel/resolver_factory.h | 4 ---- src/core/ext/filters/client_channel/resolver_registry.h | 4 ---- src/core/ext/filters/client_channel/retry_throttle.h | 4 ---- src/core/ext/filters/client_channel/subchannel.h | 4 ---- src/core/ext/filters/client_channel/subchannel_index.h | 4 ---- src/core/ext/filters/client_channel/uri_parser.h | 4 ---- src/core/ext/filters/deadline/deadline_filter.h | 4 ---- src/core/ext/filters/http/client/http_client_filter.h | 4 ---- src/core/ext/filters/http/message_compress/message_compress_filter.h | 4 ---- src/core/ext/filters/http/server/http_server_filter.h | 4 ---- src/core/ext/filters/load_reporting/server_load_reporting_filter.h | 4 ---- src/core/ext/filters/load_reporting/server_load_reporting_plugin.h | 4 ---- src/core/ext/filters/max_age/max_age_filter.h | 4 ---- src/core/ext/filters/message_size/message_size_filter.h | 4 ---- .../ext/filters/workarounds/workaround_cronet_compression_filter.h | 4 ---- src/core/ext/filters/workarounds/workaround_utils.h | 4 ---- src/core/ext/transport/chttp2/alpn/alpn.h | 4 ---- src/core/ext/transport/chttp2/client/chttp2_connector.h | 4 ---- src/core/ext/transport/chttp2/server/chttp2_server.h | 4 ---- src/core/ext/transport/chttp2/transport/bin_decoder.h | 4 ---- src/core/ext/transport/chttp2/transport/bin_encoder.h | 4 ---- src/core/ext/transport/chttp2/transport/chttp2_transport.h | 4 ---- src/core/ext/transport/chttp2/transport/frame.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_data.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_goaway.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_ping.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_rst_stream.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_settings.h | 4 ---- src/core/ext/transport/chttp2/transport/frame_window_update.h | 4 ---- src/core/ext/transport/chttp2/transport/hpack_encoder.h | 4 ---- src/core/ext/transport/chttp2/transport/hpack_parser.h | 4 ---- src/core/ext/transport/chttp2/transport/hpack_table.h | 4 ---- src/core/ext/transport/chttp2/transport/http2_settings.h | 3 --- src/core/ext/transport/chttp2/transport/huffsyms.h | 4 ---- src/core/ext/transport/chttp2/transport/incoming_metadata.h | 4 ---- src/core/ext/transport/chttp2/transport/internal.h | 4 ---- src/core/ext/transport/chttp2/transport/stream_map.h | 4 ---- src/core/ext/transport/chttp2/transport/varint.h | 4 ---- src/core/ext/transport/cronet/transport/cronet_transport.h | 4 ---- src/core/ext/transport/inproc/inproc_plugin.cc | 4 +--- src/core/ext/transport/inproc/inproc_transport.h | 4 ---- src/core/lib/backoff/backoff.h | 4 ---- src/core/lib/channel/channel_args.h | 4 ---- src/core/lib/channel/channel_stack.h | 4 ---- src/core/lib/channel/channel_stack_builder.h | 4 ---- src/core/lib/channel/connected_channel.h | 4 ---- src/core/lib/channel/handshaker.h | 4 ---- src/core/lib/channel/handshaker_factory.h | 4 ---- src/core/lib/channel/handshaker_registry.h | 4 ---- src/core/lib/compression/algorithm_metadata.h | 4 ---- src/core/lib/compression/message_compress.h | 4 ---- src/core/lib/compression/stream_compression.h | 4 ---- src/core/lib/compression/stream_compression_gzip.h | 4 ---- src/core/lib/compression/stream_compression_identity.h | 4 ---- src/core/lib/debug/stats.h | 4 ---- src/core/lib/debug/stats_data.h | 4 ---- src/core/lib/debug/trace.h | 4 ---- src/core/lib/http/format_request.h | 4 ---- src/core/lib/http/httpcli.h | 4 ---- src/core/lib/http/parser.h | 4 ---- src/core/lib/iomgr/block_annotate.h | 4 ---- src/core/lib/iomgr/call_combiner.h | 4 ---- src/core/lib/iomgr/combiner.h | 4 ---- src/core/lib/iomgr/endpoint.h | 4 ---- src/core/lib/iomgr/endpoint_pair.h | 4 ---- src/core/lib/iomgr/error.h | 4 ---- src/core/lib/iomgr/error_internal.h | 4 ---- src/core/lib/iomgr/ev_epoll1_linux.h | 4 ---- src/core/lib/iomgr/ev_epollex_linux.h | 4 ---- src/core/lib/iomgr/ev_epollsig_linux.h | 4 ---- src/core/lib/iomgr/ev_poll_posix.h | 4 ---- src/core/lib/iomgr/ev_posix.h | 4 ---- src/core/lib/iomgr/exec_ctx.h | 2 -- src/core/lib/iomgr/executor.h | 4 ---- src/core/lib/iomgr/gethostname.h | 4 ---- src/core/lib/iomgr/iocp_windows.h | 4 ---- src/core/lib/iomgr/iomgr.h | 4 ---- src/core/lib/iomgr/iomgr_internal.h | 4 ---- src/core/lib/iomgr/iomgr_uv.h | 4 ---- src/core/lib/iomgr/is_epollexclusive_available.h | 4 ---- src/core/lib/iomgr/load_file.h | 4 ---- src/core/lib/iomgr/polling_entity.h | 3 --- src/core/lib/iomgr/pollset.h | 4 ---- src/core/lib/iomgr/pollset_set.h | 4 ---- src/core/lib/iomgr/pollset_uv.h | 4 ---- src/core/lib/iomgr/pollset_windows.h | 4 ---- src/core/lib/iomgr/resolve_address.h | 4 ---- src/core/lib/iomgr/resource_quota.h | 4 ---- src/core/lib/iomgr/sockaddr_utils.h | 4 ---- src/core/lib/iomgr/socket_factory_posix.h | 4 ---- src/core/lib/iomgr/socket_mutator.h | 4 ---- src/core/lib/iomgr/socket_utils.h | 4 ---- src/core/lib/iomgr/socket_utils_posix.h | 4 ---- src/core/lib/iomgr/socket_windows.h | 4 ---- src/core/lib/iomgr/tcp_client.h | 4 ---- src/core/lib/iomgr/tcp_client_posix.h | 4 ---- src/core/lib/iomgr/tcp_posix.h | 4 ---- src/core/lib/iomgr/tcp_server.h | 4 ---- src/core/lib/iomgr/tcp_server_utils_posix.h | 4 ---- src/core/lib/iomgr/tcp_uv.h | 4 ---- src/core/lib/iomgr/tcp_windows.h | 4 ---- src/core/lib/iomgr/time_averaged_stats.h | 4 ---- src/core/lib/iomgr/timer.h | 4 ---- src/core/lib/iomgr/timer_heap.h | 4 ---- src/core/lib/iomgr/timer_manager.h | 4 ---- src/core/lib/iomgr/udp_server.h | 4 ---- src/core/lib/iomgr/unix_sockets_posix.h | 4 ---- src/core/lib/iomgr/wakeup_fd_cv.h | 4 ---- src/core/lib/iomgr/wakeup_fd_pipe.h | 4 ---- src/core/lib/iomgr/wakeup_fd_posix.h | 4 ---- src/core/lib/json/json.h | 4 ---- src/core/lib/json/json_reader.h | 4 ---- src/core/lib/json/json_writer.h | 4 ---- src/core/lib/profiling/timers.h | 2 -- src/core/lib/security/context/security_context.h | 4 ---- src/core/lib/security/credentials/composite/composite_credentials.h | 4 ---- src/core/lib/security/credentials/credentials.h | 4 ---- src/core/lib/security/credentials/fake/fake_credentials.h | 4 ---- .../security/credentials/google_default/google_default_credentials.h | 4 ---- src/core/lib/security/credentials/jwt/json_token.h | 4 ---- src/core/lib/security/credentials/jwt/jwt_credentials.h | 4 ---- src/core/lib/security/credentials/jwt/jwt_verifier.h | 4 ---- src/core/lib/security/credentials/oauth2/oauth2_credentials.h | 4 ---- src/core/lib/security/credentials/ssl/ssl_credentials.h | 4 ---- src/core/lib/security/transport/auth_filters.h | 4 ---- src/core/lib/security/transport/lb_targets_info.h | 4 ---- src/core/lib/security/transport/secure_endpoint.h | 4 ---- src/core/lib/security/transport/security_connector.h | 4 ---- src/core/lib/security/transport/security_handshaker.h | 4 ---- src/core/lib/security/transport/tsi_error.h | 4 ---- src/core/lib/security/util/json_util.h | 4 ---- src/core/lib/slice/b64.h | 4 ---- src/core/lib/slice/percent_encoding.h | 4 ---- src/core/lib/slice/slice_hash_table.h | 4 ---- src/core/lib/slice/slice_internal.h | 4 ---- src/core/lib/slice/slice_string_helpers.h | 4 ---- src/core/lib/slice/slice_traits.h | 4 ---- src/core/lib/support/arena.h | 4 ---- src/core/lib/support/env.h | 4 ---- src/core/lib/support/log_android.cc | 2 +- src/core/lib/support/mpscq.h | 3 --- src/core/lib/support/murmur_hash.h | 4 ---- src/core/lib/support/stack_lockfree.h | 4 ---- src/core/lib/support/string.h | 3 --- src/core/lib/support/string_windows.h | 4 ---- src/core/lib/support/time_precise.h | 4 ---- src/core/lib/support/tmpfile.h | 4 ---- src/core/lib/surface/alarm_internal.h | 4 ---- src/core/lib/surface/api_trace.h | 4 ---- src/core/lib/surface/call.h | 4 ---- src/core/lib/surface/call_test_only.h | 4 ---- src/core/lib/surface/channel.h | 4 ---- src/core/lib/surface/channel_init.h | 4 ---- src/core/lib/surface/channel_stack_type.h | 4 ---- src/core/lib/surface/completion_queue.h | 4 ---- src/core/lib/surface/completion_queue_factory.h | 4 ---- src/core/lib/surface/event_string.h | 4 ---- src/core/lib/surface/init.h | 4 ---- src/core/lib/surface/lame_client.h | 4 ---- src/core/lib/surface/server.h | 4 ---- src/core/lib/surface/validate_metadata.h | 4 ---- src/core/lib/transport/byte_stream.h | 4 ---- src/core/lib/transport/connectivity_state.h | 4 ---- src/core/lib/transport/error_utils.h | 4 ---- src/core/lib/transport/metadata.h | 4 ---- src/core/lib/transport/metadata_batch.h | 4 ---- src/core/lib/transport/service_config.h | 4 ---- src/core/lib/transport/static_metadata.h | 2 -- src/core/lib/transport/status_conversion.h | 4 ---- src/core/lib/transport/timeout_encoding.h | 4 ---- src/core/lib/transport/transport.h | 4 ---- src/core/lib/transport/transport_impl.h | 4 ---- src/core/tsi/fake_transport_security.h | 4 ---- src/core/tsi/gts_transport_security.h | 4 ---- src/core/tsi/ssl_transport_security.h | 4 ---- src/core/tsi/ssl_types.h | 4 ---- src/core/tsi/transport_security.h | 4 ---- src/core/tsi/transport_security_adapter.h | 4 ---- src/core/tsi/transport_security_grpc.h | 4 ---- src/core/tsi/transport_security_interface.h | 4 ---- test/core/end2end/cq_verifier.h | 4 ---- test/core/end2end/data/ssl_test_data.h | 4 ---- test/core/end2end/end2end_tests.h | 4 ---- test/core/util/port.h | 4 ---- test/core/util/test_config.h | 4 ---- 206 files changed, 2 insertions(+), 810 deletions(-) (limited to 'test') diff --git a/src/core/ext/filters/client_channel/client_channel.h b/src/core/ext/filters/client_channel/client_channel.h index 36165172a2..9307842b5c 100644 --- a/src/core/ext/filters/client_channel/client_channel.h +++ b/src/core/ext/filters/client_channel/client_channel.h @@ -28,8 +28,6 @@ extern grpc_tracer_flag grpc_client_channel_trace; // Channel arg key for server URI string. #define GRPC_ARG_SERVER_URI "grpc.server_uri" - - /* A client channel is a channel that begins disconnected, and can connect to some endpoint on demand. If that endpoint disconnects, it will be connected to again later. @@ -54,6 +52,4 @@ void grpc_client_channel_watch_connectivity_state( grpc_subchannel_call* grpc_client_channel_get_subchannel_call( grpc_call_element* elem); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */ diff --git a/src/core/ext/filters/client_channel/client_channel_factory.h b/src/core/ext/filters/client_channel/client_channel_factory.h index 9616e9fad0..db82b733ce 100644 --- a/src/core/ext/filters/client_channel/client_channel_factory.h +++ b/src/core/ext/filters/client_channel/client_channel_factory.h @@ -27,8 +27,6 @@ // Channel arg key for client channel factory. #define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory" - - typedef struct grpc_client_channel_factory grpc_client_channel_factory; typedef struct grpc_client_channel_factory_vtable grpc_client_channel_factory_vtable; @@ -76,6 +74,4 @@ grpc_channel* grpc_client_channel_factory_create_channel( grpc_arg grpc_client_channel_factory_create_channel_arg( grpc_client_channel_factory* factory); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/connector.h b/src/core/ext/filters/client_channel/connector.h index 62b943852f..239ed8a8bd 100644 --- a/src/core/ext/filters/client_channel/connector.h +++ b/src/core/ext/filters/client_channel/connector.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/transport/transport.h" - - typedef struct grpc_connector grpc_connector; typedef struct grpc_connector_vtable grpc_connector_vtable; @@ -72,6 +70,4 @@ void grpc_connector_connect(grpc_exec_ctx* exec_ctx, grpc_connector* connector, void grpc_connector_shutdown(grpc_exec_ctx* exec_ctx, grpc_connector* connector, grpc_error* why); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */ diff --git a/src/core/ext/filters/client_channel/http_connect_handshaker.h b/src/core/ext/filters/client_channel/http_connect_handshaker.h index c676c2ad55..928a23dc93 100644 --- a/src/core/ext/filters/client_channel/http_connect_handshaker.h +++ b/src/core/ext/filters/client_channel/http_connect_handshaker.h @@ -28,11 +28,7 @@ /// seperated by colons. #define GRPC_ARG_HTTP_CONNECT_HEADERS "grpc.http_connect_headers" - - /// Registers handshaker factory. void grpc_http_connect_register_handshaker_factory(); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */ diff --git a/src/core/ext/filters/client_channel/http_proxy.h b/src/core/ext/filters/client_channel/http_proxy.h index 894f548273..34694931d0 100644 --- a/src/core/ext/filters/client_channel/http_proxy.h +++ b/src/core/ext/filters/client_channel/http_proxy.h @@ -19,10 +19,6 @@ #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H - - void grpc_register_http_proxy_mapper(); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy.h b/src/core/ext/filters/client_channel/lb_policy.h index 7c1f1942ef..ef42758f4c 100644 --- a/src/core/ext/filters/client_channel/lb_policy.h +++ b/src/core/ext/filters/client_channel/lb_policy.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/transport/connectivity_state.h" - - /** A load balancing policy: specified by a vtable and a struct (which is expected to be extended to contain some parameters) */ typedef struct grpc_lb_policy grpc_lb_policy; @@ -206,6 +204,4 @@ void grpc_lb_policy_update_locked(grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy, const grpc_lb_policy_args* lb_policy_args); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h index b6cbd1b3c4..04de7a04df 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h @@ -21,11 +21,7 @@ #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_client_load_reporting_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h index 1489594516..0a2edb0e3d 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h @@ -21,13 +21,9 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" - - /** Returns a load balancing factory for the glb policy, which tries to connect * to a load balancing server to decide the next successfully connected * subchannel to pick. */ grpc_lb_policy_factory* grpc_glb_lb_factory_create(); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h index 4bc8d71a39..70b1c28b0d 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h @@ -23,8 +23,6 @@ #include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h" #include "src/core/lib/slice/slice_hash_table.h" - - /** Create the channel used for communicating with an LB service. * Note that an LB *service* may be comprised of several LB *servers*. * @@ -42,7 +40,5 @@ grpc_channel_args* grpc_lb_policy_grpclb_build_lb_channel_args( grpc_fake_resolver_response_generator* response_generator, const grpc_channel_args* args); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CHANNEL_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h index 54eaa3e5c7..d4b9d06848 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h @@ -23,8 +23,6 @@ #include - - typedef struct grpc_grpclb_client_stats grpc_grpclb_client_stats; typedef struct { @@ -63,7 +61,5 @@ void grpc_grpclb_client_stats_get_locked( void grpc_grpclb_dropped_call_counts_destroy( grpc_grpclb_dropped_call_counts* drop_entries); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h index d0e632b10e..017c40ec1a 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h @@ -25,8 +25,6 @@ #include "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" #include "src/core/ext/filters/client_channel/lb_policy_factory.h" - - #define GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH 128 typedef grpc_lb_v1_Server_ip_address_t grpc_grpclb_ip_address; @@ -85,7 +83,5 @@ grpc_millis grpc_grpclb_duration_to_millis(grpc_grpclb_duration* duration_pb); void grpc_grpclb_initial_response_destroy( grpc_grpclb_initial_response* response); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H \ */ diff --git a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h index f3db9b15fc..ef3102934c 100644 --- a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +++ b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h @@ -36,8 +36,6 @@ // round_robin that could be refactored and moved here. In a future PR, // need to clean this up. - - typedef struct grpc_lb_subchannel_list grpc_lb_subchannel_list; typedef struct { @@ -144,6 +142,4 @@ void grpc_lb_subchannel_list_shutdown_and_unref( grpc_exec_ctx* exec_ctx, grpc_lb_subchannel_list* subchannel_list, const char* reason); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_SUBCHANNEL_LIST_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy_factory.h b/src/core/ext/filters/client_channel/lb_policy_factory.h index 79c771221d..8f6d8c1b08 100644 --- a/src/core/ext/filters/client_channel/lb_policy_factory.h +++ b/src/core/ext/filters/client_channel/lb_policy_factory.h @@ -29,8 +29,6 @@ // Channel arg key for grpc_lb_addresses. #define GRPC_ARG_LB_ADDRESSES "grpc.lb_addresses" - - typedef struct grpc_lb_policy_factory grpc_lb_policy_factory; typedef struct grpc_lb_policy_factory_vtable grpc_lb_policy_factory_vtable; @@ -132,6 +130,4 @@ grpc_lb_policy* grpc_lb_policy_factory_create_lb_policy( grpc_exec_ctx* exec_ctx, grpc_lb_policy_factory* factory, grpc_lb_policy_args* args); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/lb_policy_registry.h b/src/core/ext/filters/client_channel/lb_policy_registry.h index de089a8fc8..acddc90fdd 100644 --- a/src/core/ext/filters/client_channel/lb_policy_registry.h +++ b/src/core/ext/filters/client_channel/lb_policy_registry.h @@ -22,8 +22,6 @@ #include "src/core/ext/filters/client_channel/lb_policy_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" - - /** Initialize the registry and set \a default_factory as the factory to be * returned when no name is provided in a lookup */ void grpc_lb_policy_registry_init(void); @@ -39,6 +37,4 @@ void grpc_register_lb_policy(grpc_lb_policy_factory* factory); grpc_lb_policy* grpc_lb_policy_create(grpc_exec_ctx* exec_ctx, const char* name, grpc_lb_policy_args* args); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/parse_address.h b/src/core/ext/filters/client_channel/parse_address.h index 825cd12393..ca0a0d18f0 100644 --- a/src/core/ext/filters/client_channel/parse_address.h +++ b/src/core/ext/filters/client_channel/parse_address.h @@ -24,8 +24,6 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/resolve_address.h" - - /** Populate \a resolved_addr from \a uri, whose path is expected to contain a * unix socket path. Returns true upon success. */ bool grpc_parse_unix(const grpc_uri* uri, grpc_resolved_address* resolved_addr); @@ -47,6 +45,4 @@ bool grpc_parse_ipv4_hostport(const char* hostport, grpc_resolved_address* addr, bool grpc_parse_ipv6_hostport(const char* hostport, grpc_resolved_address* addr, bool log_errors); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PARSE_ADDRESS_H */ diff --git a/src/core/ext/filters/client_channel/proxy_mapper.h b/src/core/ext/filters/client_channel/proxy_mapper.h index 81ecfb71bb..a13861ccaf 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper.h +++ b/src/core/ext/filters/client_channel/proxy_mapper.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/resolve_address.h" - - typedef struct grpc_proxy_mapper grpc_proxy_mapper; typedef struct { @@ -73,6 +71,4 @@ bool grpc_proxy_mapper_map_address(grpc_exec_ctx* exec_ctx, void grpc_proxy_mapper_destroy(grpc_proxy_mapper* mapper); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H */ diff --git a/src/core/ext/filters/client_channel/proxy_mapper_registry.h b/src/core/ext/filters/client_channel/proxy_mapper_registry.h index f17fdd89df..99e54d1a78 100644 --- a/src/core/ext/filters/client_channel/proxy_mapper_registry.h +++ b/src/core/ext/filters/client_channel/proxy_mapper_registry.h @@ -21,8 +21,6 @@ #include "src/core/ext/filters/client_channel/proxy_mapper.h" - - void grpc_proxy_mapper_registry_init(); void grpc_proxy_mapper_registry_shutdown(); @@ -43,6 +41,4 @@ bool grpc_proxy_mappers_map_address(grpc_exec_ctx* exec_ctx, grpc_resolved_address** new_address, grpc_channel_args** new_args); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/resolver.h b/src/core/ext/filters/client_channel/resolver.h index ac95666240..c0901f0225 100644 --- a/src/core/ext/filters/client_channel/resolver.h +++ b/src/core/ext/filters/client_channel/resolver.h @@ -22,8 +22,6 @@ #include "src/core/ext/filters/client_channel/subchannel.h" #include "src/core/lib/iomgr/iomgr.h" - - typedef struct grpc_resolver grpc_resolver; typedef struct grpc_resolver_vtable grpc_resolver_vtable; @@ -89,6 +87,4 @@ void grpc_resolver_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver, grpc_channel_args** result, grpc_closure* on_complete); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_H */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h index 54e04f7aeb..03ea36bfcc 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/pollset_set.h" - - typedef struct grpc_ares_ev_driver grpc_ares_ev_driver; /* Start \a ev_driver. It will keep working until all IO on its ares_channel is @@ -52,7 +50,5 @@ void grpc_ares_ev_driver_destroy(grpc_ares_ev_driver* ev_driver); void grpc_ares_ev_driver_shutdown(grpc_exec_ctx* exec_ctx, grpc_ares_ev_driver* ev_driver); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h index 8c6499f8f8..72db622954 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/iomgr/resolve_address.h" - - typedef struct grpc_ares_request grpc_ares_request; /* Asynchronously resolve \a name. Use \a default_port if a port isn't @@ -67,7 +65,5 @@ grpc_error* grpc_ares_init(void); it has been called the same number of times as grpc_ares_init(). */ void grpc_ares_cleanup(void); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h index c56c34b59c..7035cdda01 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h @@ -21,8 +21,6 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/channel/channel_args.h" - - #define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR \ "grpc.fake_resolver.response_generator" @@ -58,7 +56,5 @@ grpc_fake_resolver_response_generator_ref( void grpc_fake_resolver_response_generator_unref( grpc_fake_resolver_response_generator* generator); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FAKE_FAKE_RESOLVER_H \ */ diff --git a/src/core/ext/filters/client_channel/resolver_factory.h b/src/core/ext/filters/client_channel/resolver_factory.h index 8bba90d0ac..fcf8ec425e 100644 --- a/src/core/ext/filters/client_channel/resolver_factory.h +++ b/src/core/ext/filters/client_channel/resolver_factory.h @@ -24,8 +24,6 @@ #include "src/core/ext/filters/client_channel/uri_parser.h" #include "src/core/lib/iomgr/pollset_set.h" - - typedef struct grpc_resolver_factory grpc_resolver_factory; typedef struct grpc_resolver_factory_vtable grpc_resolver_factory_vtable; @@ -69,6 +67,4 @@ grpc_resolver* grpc_resolver_factory_create_resolver( char* grpc_resolver_factory_get_default_authority( grpc_resolver_factory* factory, grpc_uri* uri); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H */ diff --git a/src/core/ext/filters/client_channel/resolver_registry.h b/src/core/ext/filters/client_channel/resolver_registry.h index 6f7f8945c3..ecc9f824e8 100644 --- a/src/core/ext/filters/client_channel/resolver_registry.h +++ b/src/core/ext/filters/client_channel/resolver_registry.h @@ -22,8 +22,6 @@ #include "src/core/ext/filters/client_channel/resolver_factory.h" #include "src/core/lib/iomgr/pollset_set.h" - - void grpc_resolver_registry_init(); void grpc_resolver_registry_shutdown(void); @@ -68,6 +66,4 @@ char* grpc_get_default_authority(grpc_exec_ctx* exec_ctx, const char* target); char* grpc_resolver_factory_add_default_prefix_if_needed( grpc_exec_ctx* exec_ctx, const char* target); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_REGISTRY_H */ diff --git a/src/core/ext/filters/client_channel/retry_throttle.h b/src/core/ext/filters/client_channel/retry_throttle.h index 305dd1ca5d..bf99297e98 100644 --- a/src/core/ext/filters/client_channel/retry_throttle.h +++ b/src/core/ext/filters/client_channel/retry_throttle.h @@ -21,8 +21,6 @@ #include - - /// Tracks retry throttling data for an individual server name. typedef struct grpc_server_retry_throttle_data grpc_server_retry_throttle_data; @@ -49,6 +47,4 @@ void grpc_retry_throttle_map_shutdown(); grpc_server_retry_throttle_data* grpc_retry_throttle_map_get_data_for_server( const char* server_name, int max_milli_tokens, int milli_token_ratio); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H */ diff --git a/src/core/ext/filters/client_channel/subchannel.h b/src/core/ext/filters/client_channel/subchannel.h index 44491c3cde..1f326fc1d2 100644 --- a/src/core/ext/filters/client_channel/subchannel.h +++ b/src/core/ext/filters/client_channel/subchannel.h @@ -26,8 +26,6 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/metadata.h" - - // Channel arg containing a grpc_resolved_address to connect to. #define GRPC_ARG_SUBCHANNEL_ADDRESS "grpc.subchannel_address" @@ -190,6 +188,4 @@ const char* grpc_get_subchannel_address_uri_arg(const grpc_channel_args* args); /// Caller is responsible for freeing the string. grpc_arg grpc_create_subchannel_address_arg(const grpc_resolved_address* addr); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H */ diff --git a/src/core/ext/filters/client_channel/subchannel_index.h b/src/core/ext/filters/client_channel/subchannel_index.h index 23ba7e210f..6a4d06ef8f 100644 --- a/src/core/ext/filters/client_channel/subchannel_index.h +++ b/src/core/ext/filters/client_channel/subchannel_index.h @@ -21,8 +21,6 @@ #include "src/core/ext/filters/client_channel/subchannel.h" - - /** \file Provides an index of active subchannels so that they can be shared amongst channels */ @@ -80,6 +78,4 @@ void grpc_subchannel_index_unref(void); * force_creation set. */ void grpc_subchannel_index_test_only_set_force_creation(bool force_creation); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INDEX_H */ diff --git a/src/core/ext/filters/client_channel/uri_parser.h b/src/core/ext/filters/client_channel/uri_parser.h index 3bf4c19654..84752905e8 100644 --- a/src/core/ext/filters/client_channel/uri_parser.h +++ b/src/core/ext/filters/client_channel/uri_parser.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" - - typedef struct { char* scheme; char* authority; @@ -49,6 +47,4 @@ const char* grpc_uri_get_query_arg(const grpc_uri* uri, const char* key); /** destroy a uri */ void grpc_uri_destroy(grpc_uri* uri); - - #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */ diff --git a/src/core/ext/filters/deadline/deadline_filter.h b/src/core/ext/filters/deadline/deadline_filter.h index 6be9015ab9..8d835d0382 100644 --- a/src/core/ext/filters/deadline/deadline_filter.h +++ b/src/core/ext/filters/deadline/deadline_filter.h @@ -20,8 +20,6 @@ #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/iomgr/timer.h" - - typedef enum grpc_deadline_timer_state { GRPC_DEADLINE_STATE_INITIAL, GRPC_DEADLINE_STATE_PENDING, @@ -92,6 +90,4 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* args); extern const grpc_channel_filter grpc_client_deadline_filter; extern const grpc_channel_filter grpc_server_deadline_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */ diff --git a/src/core/ext/filters/http/client/http_client_filter.h b/src/core/ext/filters/http/client/http_client_filter.h index 1237c0a3de..ec8177c436 100644 --- a/src/core/ext/filters/http/client/http_client_filter.h +++ b/src/core/ext/filters/http/client/http_client_filter.h @@ -20,14 +20,10 @@ #include "src/core/lib/channel/channel_stack.h" - - /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_client_filter; /* Channel arg to determine maximum size of payload eligable for GET request */ #define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get" - - #endif /* GRPC_CORE_EXT_FILTERS_HTTP_CLIENT_HTTP_CLIENT_FILTER_H */ diff --git a/src/core/ext/filters/http/message_compress/message_compress_filter.h b/src/core/ext/filters/http/message_compress/message_compress_filter.h index c76682f5b5..62207911c7 100644 --- a/src/core/ext/filters/http/message_compress/message_compress_filter.h +++ b/src/core/ext/filters/http/message_compress/message_compress_filter.h @@ -23,8 +23,6 @@ #include "src/core/lib/channel/channel_stack.h" - - /** Compression filter for outgoing data. * * See for the available compression settings. @@ -49,7 +47,5 @@ extern const grpc_channel_filter grpc_message_compress_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_COMPRESS_FILTER_H \ */ diff --git a/src/core/ext/filters/http/server/http_server_filter.h b/src/core/ext/filters/http/server/http_server_filter.h index 2d724def18..c0f678a329 100644 --- a/src/core/ext/filters/http/server/http_server_filter.h +++ b/src/core/ext/filters/http/server/http_server_filter.h @@ -21,11 +21,7 @@ #include "src/core/lib/channel/channel_stack.h" - - /* Processes metadata on the client side for HTTP2 transports */ extern const grpc_channel_filter grpc_http_server_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_HTTP_SERVER_HTTP_SERVER_FILTER_H */ diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h index 00e8e4c37f..1baee5e7cd 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_filter.h @@ -22,11 +22,7 @@ #include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h" #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_server_load_reporting_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_FILTER_H \ */ diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h index af2bbfcc09..4b694d336d 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +++ b/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h @@ -23,8 +23,6 @@ #include "src/core/lib/channel/channel_stack.h" - - /** Identifiers for the invocation point of the users LR callback */ typedef enum grpc_load_reporting_source { GRPC_LR_POINT_UNKNOWN = 0, @@ -57,7 +55,5 @@ typedef struct grpc_load_reporting_call_data { /** Return a \a grpc_arg enabling load reporting */ grpc_arg grpc_load_reporting_enable_arg(); - - #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_PLUGIN_H \ */ diff --git a/src/core/ext/filters/max_age/max_age_filter.h b/src/core/ext/filters/max_age/max_age_filter.h index e088598277..68fb4a4ca5 100644 --- a/src/core/ext/filters/max_age/max_age_filter.h +++ b/src/core/ext/filters/max_age/max_age_filter.h @@ -19,10 +19,6 @@ #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_max_age_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_MAX_AGE_MAX_AGE_FILTER_H */ diff --git a/src/core/ext/filters/message_size/message_size_filter.h b/src/core/ext/filters/message_size/message_size_filter.h index 7c170fa7e1..d3667f7003 100644 --- a/src/core/ext/filters/message_size/message_size_filter.h +++ b/src/core/ext/filters/message_size/message_size_filter.h @@ -19,10 +19,6 @@ #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_message_size_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_MESSAGE_SIZE_MESSAGE_SIZE_FILTER_H */ diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h index 38a88cb631..9dae4f0734 100644 --- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h @@ -19,11 +19,7 @@ #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_workaround_cronet_compression_filter; - - #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H \ */ diff --git a/src/core/ext/filters/workarounds/workaround_utils.h b/src/core/ext/filters/workarounds/workaround_utils.h index 4267b486c1..d6ef5e84fa 100644 --- a/src/core/ext/filters/workarounds/workaround_utils.h +++ b/src/core/ext/filters/workarounds/workaround_utils.h @@ -24,8 +24,6 @@ #define GRPC_WORKAROUND_PRIORITY_HIGH 10001 #define GRPC_WORKAROUND_PROIRITY_LOW 9999 - - typedef struct grpc_workaround_user_agent_md { bool workaround_active[GRPC_MAX_WORKAROUND_ID]; } grpc_workaround_user_agent_md; @@ -36,6 +34,4 @@ typedef bool (*user_agent_parser)(grpc_mdelem); void grpc_register_workaround(uint32_t id, user_agent_parser parser); - - #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_UTILS_H */ diff --git a/src/core/ext/transport/chttp2/alpn/alpn.h b/src/core/ext/transport/chttp2/alpn/alpn.h index 8f13ebdfc2..fd7513c665 100644 --- a/src/core/ext/transport/chttp2/alpn/alpn.h +++ b/src/core/ext/transport/chttp2/alpn/alpn.h @@ -21,8 +21,6 @@ #include - - /* Retuns 1 if the version is supported, 0 otherwise. */ int grpc_chttp2_is_alpn_version_supported(const char* version, size_t size); @@ -33,6 +31,4 @@ size_t grpc_chttp2_num_alpn_versions(void); * grpc_chttp2_num_alpn_versions()) */ const char* grpc_chttp2_get_alpn_version_index(size_t i); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H */ diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.h b/src/core/ext/transport/chttp2/client/chttp2_connector.h index dc8f26cc0a..e258892cfc 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.h +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.h @@ -19,12 +19,8 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H - - #include "src/core/ext/filters/client_channel/connector.h" grpc_connector* grpc_chttp2_connector_create(); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_CLIENT_CHTTP2_CONNECTOR_H */ diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.h b/src/core/ext/transport/chttp2/server/chttp2_server.h index ed798d243d..68304fd4f7 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.h +++ b/src/core/ext/transport/chttp2/server/chttp2_server.h @@ -23,14 +23,10 @@ #include "src/core/lib/iomgr/exec_ctx.h" - - /// Adds a port to \a server. Sets \a port_num to the port number. /// Takes ownership of \a args. grpc_error* grpc_chttp2_server_add_port(grpc_exec_ctx* exec_ctx, grpc_server* server, const char* addr, grpc_channel_args* args, int* port_num); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_SERVER_CHTTP2_SERVER_H */ diff --git a/src/core/ext/transport/chttp2/transport/bin_decoder.h b/src/core/ext/transport/chttp2/transport/bin_decoder.h index 33cff85835..a78c305766 100644 --- a/src/core/ext/transport/chttp2/transport/bin_decoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_decoder.h @@ -22,8 +22,6 @@ #include #include - - struct grpc_base64_decode_context { /* input/output: */ uint8_t* input_cur; @@ -51,6 +49,4 @@ grpc_slice grpc_chttp2_base64_decode_with_length(grpc_exec_ctx* exec_ctx, grpc_slice input, size_t output_length); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_DECODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.h b/src/core/ext/transport/chttp2/transport/bin_encoder.h index 620a6e50d8..a8f36a345a 100644 --- a/src/core/ext/transport/chttp2/transport/bin_encoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_encoder.h @@ -21,8 +21,6 @@ #include - - /* base64 encode a slice. Returns a new slice, does not take ownership of the input */ grpc_slice grpc_chttp2_base64_encode(grpc_slice input); @@ -38,6 +36,4 @@ grpc_slice grpc_chttp2_huffman_compress(grpc_slice input); return y; */ grpc_slice grpc_chttp2_base64_encode_and_huffman_compress(grpc_slice input); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.h b/src/core/ext/transport/chttp2/transport/chttp2_transport.h index 2b2c82af4d..e068987040 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.h +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/transport/transport.h" - - extern grpc_tracer_flag grpc_http_trace; extern grpc_tracer_flag grpc_flowctl_trace; extern grpc_tracer_flag grpc_trace_http2_stream_state; @@ -43,6 +41,4 @@ void grpc_chttp2_transport_start_reading(grpc_exec_ctx* exec_ctx, grpc_transport* transport, grpc_slice_buffer* read_buffer); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_CHTTP2_TRANSPORT_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame.h b/src/core/ext/transport/chttp2/transport/frame.h index 404ee2fee4..dba4c004ec 100644 --- a/src/core/ext/transport/chttp2/transport/frame.h +++ b/src/core/ext/transport/chttp2/transport/frame.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/error.h" - - /* defined in internal.h */ typedef struct grpc_chttp2_stream grpc_chttp2_stream; typedef struct grpc_chttp2_transport grpc_chttp2_transport; @@ -45,6 +43,4 @@ typedef struct grpc_chttp2_transport grpc_chttp2_transport; #define GRPC_CHTTP2_DATA_FLAG_PADDED 8 #define GRPC_CHTTP2_FLAG_HAS_PRIORITY 0x20 - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_data.h b/src/core/ext/transport/chttp2/transport/frame_data.h index 217927799a..4de553ea42 100644 --- a/src/core/ext/transport/chttp2/transport/frame_data.h +++ b/src/core/ext/transport/chttp2/transport/frame_data.h @@ -28,8 +28,6 @@ #include "src/core/lib/transport/byte_stream.h" #include "src/core/lib/transport/transport.h" - - typedef enum { GRPC_CHTTP2_DATA_FH_0, GRPC_CHTTP2_DATA_FH_1, @@ -82,6 +80,4 @@ grpc_error* grpc_deframe_unprocessed_incoming_frames( grpc_slice_buffer* slices, grpc_slice* slice_out, grpc_byte_stream** stream_out); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_DATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.h b/src/core/ext/transport/chttp2/transport/frame_goaway.h index b3c910f5ea..743e763342 100644 --- a/src/core/ext/transport/chttp2/transport/frame_goaway.h +++ b/src/core/ext/transport/chttp2/transport/frame_goaway.h @@ -25,8 +25,6 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef enum { GRPC_CHTTP2_GOAWAY_LSI0, GRPC_CHTTP2_GOAWAY_LSI1, @@ -62,6 +60,4 @@ void grpc_chttp2_goaway_append(uint32_t last_stream_id, uint32_t error_code, grpc_slice debug_data, grpc_slice_buffer* slice_buffer); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_GOAWAY_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.h b/src/core/ext/transport/chttp2/transport/frame_ping.h index 0767182e09..76ca397709 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.h +++ b/src/core/ext/transport/chttp2/transport/frame_ping.h @@ -23,8 +23,6 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef struct { uint8_t byte; uint8_t is_ack; @@ -43,6 +41,4 @@ grpc_error* grpc_chttp2_ping_parser_parse(grpc_exec_ctx* exec_ctx, void* parser, /* Test-only function for disabling ping ack */ void grpc_set_disable_ping_ack(bool disable_ping_ack); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_PING_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h index dd98c04b6a..7dfc5d4578 100644 --- a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +++ b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" - - typedef struct { uint8_t byte; uint8_t reason_bytes[4]; @@ -42,6 +40,4 @@ grpc_error* grpc_chttp2_rst_stream_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_RST_STREAM_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.h b/src/core/ext/transport/chttp2/transport/frame_settings.h index 52b4ef1924..36e2ca83a0 100644 --- a/src/core/ext/transport/chttp2/transport/frame_settings.h +++ b/src/core/ext/transport/chttp2/transport/frame_settings.h @@ -25,8 +25,6 @@ #include "src/core/ext/transport/chttp2/transport/http2_settings.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef enum { GRPC_CHTTP2_SPS_ID0, GRPC_CHTTP2_SPS_ID1, @@ -60,6 +58,4 @@ grpc_error* grpc_chttp2_settings_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SETTINGS_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.h b/src/core/ext/transport/chttp2/transport/frame_window_update.h index 1b7e061c8b..e031b585fa 100644 --- a/src/core/ext/transport/chttp2/transport/frame_window_update.h +++ b/src/core/ext/transport/chttp2/transport/frame_window_update.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/transport.h" - - typedef struct { uint8_t byte; uint8_t is_connection_update; @@ -41,6 +39,4 @@ grpc_error* grpc_chttp2_window_update_parser_parse( grpc_exec_ctx* exec_ctx, void* parser, grpc_chttp2_transport* t, grpc_chttp2_stream* s, grpc_slice slice, int is_last); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_WINDOW_UPDATE_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.h b/src/core/ext/transport/chttp2/transport/hpack_encoder.h index 0e11f99fd0..046e0b81cd 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.h +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.h @@ -34,8 +34,6 @@ /* maximum table size we'll actually use */ #define GRPC_CHTTP2_HPACKC_MAX_TABLE_SIZE (1024 * 1024) - - typedef struct { uint32_t filter_elems_sum; uint32_t max_table_size; @@ -93,6 +91,4 @@ void grpc_chttp2_encode_header(grpc_exec_ctx* exec_ctx, const grpc_encode_header_options* options, grpc_slice_buffer* outbuf); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.h b/src/core/ext/transport/chttp2/transport/hpack_parser.h index 452165e8d0..b4a2b14bdb 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_parser.h +++ b/src/core/ext/transport/chttp2/transport/hpack_parser.h @@ -27,8 +27,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/metadata.h" - - typedef struct grpc_chttp2_hpack_parser grpc_chttp2_hpack_parser; typedef grpc_error* (*grpc_chttp2_hpack_parser_state)( @@ -113,6 +111,4 @@ grpc_error* grpc_chttp2_header_parser_parse(grpc_exec_ctx* exec_ctx, grpc_chttp2_stream* s, grpc_slice slice, int is_last); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_PARSER_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.h b/src/core/ext/transport/chttp2/transport/hpack_table.h index 0e41dbeea5..aed7b13f0b 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.h +++ b/src/core/ext/transport/chttp2/transport/hpack_table.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/lib/transport/metadata.h" - - /* HPACK header table */ /* last index in the static table */ @@ -96,6 +94,4 @@ typedef struct { grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find( const grpc_chttp2_hptbl* tbl, grpc_mdelem md); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_TABLE_H */ diff --git a/src/core/ext/transport/chttp2/transport/http2_settings.h b/src/core/ext/transport/chttp2/transport/http2_settings.h index baac528c9a..fd15b6977b 100644 --- a/src/core/ext/transport/chttp2/transport/http2_settings.h +++ b/src/core/ext/transport/chttp2/transport/http2_settings.h @@ -36,7 +36,6 @@ typedef enum { #define GRPC_CHTTP2_NUM_SETTINGS 7 - extern const uint16_t grpc_setting_id_to_wire_id[]; bool grpc_wire_id_to_setting_id(uint32_t wire_id, grpc_chttp2_setting_id* out); @@ -58,6 +57,4 @@ typedef struct { extern const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]; - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HTTP2_SETTINGS_H */ diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.h b/src/core/ext/transport/chttp2/transport/huffsyms.h index 7014fb60c4..2e2a5dacae 100644 --- a/src/core/ext/transport/chttp2/transport/huffsyms.h +++ b/src/core/ext/transport/chttp2/transport/huffsyms.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H - - /* HPACK static huffman table */ #define GRPC_CHTTP2_NUM_HUFFSYMS 257 @@ -32,6 +30,4 @@ typedef struct { extern const grpc_chttp2_huffsym grpc_chttp2_huffsyms[GRPC_CHTTP2_NUM_HUFFSYMS]; - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HUFFSYMS_H */ diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.h b/src/core/ext/transport/chttp2/transport/incoming_metadata.h index 9dbf8987d1..6f2b81ef6c 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.h +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.h @@ -21,8 +21,6 @@ #include "src/core/lib/transport/transport.h" - - typedef struct { gpr_arena* arena; grpc_metadata_batch batch; @@ -47,6 +45,4 @@ grpc_error* grpc_chttp2_incoming_metadata_buffer_replace_or_add( void grpc_chttp2_incoming_metadata_buffer_set_deadline( grpc_chttp2_incoming_metadata_buffer* buffer, grpc_millis deadline); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INCOMING_METADATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index c579b6be6b..eec98b78ef 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -42,8 +42,6 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/transport_impl.h" - - /* streams are kept in various linked lists depending on what things need to happen to them... this enum labels each list */ typedef enum { @@ -776,6 +774,4 @@ void grpc_chttp2_fail_pending_writes(grpc_exec_ctx* exec_ctx, void grpc_chttp2_config_default_keepalive_args(grpc_channel_args* args, bool is_client); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_INTERNAL_H */ diff --git a/src/core/ext/transport/chttp2/transport/stream_map.h b/src/core/ext/transport/chttp2/transport/stream_map.h index 37b71a3043..9fb8826e8e 100644 --- a/src/core/ext/transport/chttp2/transport/stream_map.h +++ b/src/core/ext/transport/chttp2/transport/stream_map.h @@ -23,8 +23,6 @@ #include - - /* Data structure to map a uint32_t to a data object (represented by a void*) Represented as a sorted array of keys, and a corresponding array of values. @@ -67,6 +65,4 @@ void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map* map, void* value), void* user_data); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_STREAM_MAP_H */ diff --git a/src/core/ext/transport/chttp2/transport/varint.h b/src/core/ext/transport/chttp2/transport/varint.h index 4da8aa5bd9..5a2b670f06 100644 --- a/src/core/ext/transport/chttp2/transport/varint.h +++ b/src/core/ext/transport/chttp2/transport/varint.h @@ -21,8 +21,6 @@ #include - - /* Helpers for hpack varint encoding */ /* length of a value that needs varint tail encoding (it's bigger than can be @@ -59,6 +57,4 @@ void grpc_chttp2_hpack_write_varint_tail(uint32_t tail_value, uint8_t* target, } \ } while (0) - - #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_VARINT_H */ diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.h b/src/core/ext/transport/cronet/transport/cronet_transport.h index 699818904e..d9ff913326 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.h +++ b/src/core/ext/transport/cronet/transport/cronet_transport.h @@ -21,12 +21,8 @@ #include "src/core/lib/transport/transport.h" - - grpc_transport* grpc_create_cronet_transport(void* engine, const char* target, const grpc_channel_args* args, void* reserved); - - #endif /* GRPC_CORE_EXT_TRANSPORT_CRONET_TRANSPORT_CRONET_TRANSPORT_H */ diff --git a/src/core/ext/transport/inproc/inproc_plugin.cc b/src/core/ext/transport/inproc/inproc_plugin.cc index 74451b3234..6a796a0b19 100644 --- a/src/core/ext/transport/inproc/inproc_plugin.cc +++ b/src/core/ext/transport/inproc/inproc_plugin.cc @@ -26,6 +26,4 @@ void grpc_inproc_plugin_init(void) { grpc_inproc_transport_init(); } -void grpc_inproc_plugin_shutdown(void) { - grpc_inproc_transport_shutdown(); -} +void grpc_inproc_plugin_shutdown(void) { grpc_inproc_transport_shutdown(); } diff --git a/src/core/ext/transport/inproc/inproc_transport.h b/src/core/ext/transport/inproc/inproc_transport.h index 74cba41afd..b532b8a234 100644 --- a/src/core/ext/transport/inproc/inproc_transport.h +++ b/src/core/ext/transport/inproc/inproc_transport.h @@ -21,8 +21,6 @@ #include "src/core/lib/transport/transport_impl.h" - - grpc_channel* grpc_inproc_channel_create(grpc_server* server, grpc_channel_args* args, void* reserved); @@ -32,6 +30,4 @@ extern grpc_tracer_flag grpc_inproc_trace; void grpc_inproc_transport_init(void); void grpc_inproc_transport_shutdown(void); - - #endif /* GRPC_CORE_EXT_TRANSPORT_INPROC_INPROC_TRANSPORT_H */ diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index e59c343d59..0da9082e70 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" - - typedef struct { /// const: how long to wait after the first failure before retrying grpc_millis initial_backoff; @@ -74,6 +72,4 @@ grpc_backoff_result grpc_backoff_step(grpc_exec_ctx* exec_ctx, /// grpc_backoff_begin. void grpc_backoff_reset(grpc_backoff* backoff); - - #endif /* GRPC_CORE_LIB_BACKOFF_BACKOFF_H */ diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index 7f8305dae3..f6cb7fa73d 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -23,8 +23,6 @@ #include #include "src/core/lib/iomgr/socket_mutator.h" - - // Channel args are intentionally immutable, to avoid the need for locking. /** Copy the arguments in \a src into a new instance */ @@ -151,6 +149,4 @@ grpc_arg grpc_channel_arg_integer_create(char* name, int value); grpc_arg grpc_channel_arg_pointer_create(char* name, void* value, const grpc_arg_pointer_vtable* vtable); - - #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */ diff --git a/src/core/lib/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h index 478a03ee73..8af18a0d39 100644 --- a/src/core/lib/channel/channel_stack.h +++ b/src/core/lib/channel/channel_stack.h @@ -45,8 +45,6 @@ #include "src/core/lib/support/arena.h" #include "src/core/lib/transport/transport.h" - - typedef struct grpc_channel_element grpc_channel_element; typedef struct grpc_call_element grpc_call_element; @@ -288,6 +286,4 @@ extern grpc_tracer_flag grpc_trace_channel; #define GRPC_CALL_LOG_OP(sev, elem, op) \ if (GRPC_TRACER_ON(grpc_trace_channel)) grpc_call_log_op(sev, elem, op) - - #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H */ diff --git a/src/core/lib/channel/channel_stack_builder.h b/src/core/lib/channel/channel_stack_builder.h index 4f5e1dc7d5..51a56130e3 100644 --- a/src/core/lib/channel/channel_stack_builder.h +++ b/src/core/lib/channel/channel_stack_builder.h @@ -24,8 +24,6 @@ #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" - - /// grpc_channel_stack_builder offers a programmatic interface to selected /// and order channel filters typedef struct grpc_channel_stack_builder grpc_channel_stack_builder; @@ -160,6 +158,4 @@ void grpc_channel_stack_builder_destroy(grpc_exec_ctx* exec_ctx, extern grpc_tracer_flag grpc_trace_channel_stack_builder; - - #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H */ diff --git a/src/core/lib/channel/connected_channel.h b/src/core/lib/channel/connected_channel.h index 6807049ea3..cab8aad154 100644 --- a/src/core/lib/channel/connected_channel.h +++ b/src/core/lib/channel/connected_channel.h @@ -21,8 +21,6 @@ #include "src/core/lib/channel/channel_stack_builder.h" - - extern const grpc_channel_filter grpc_connected_filter; bool grpc_add_connected_filter(grpc_exec_ctx* exec_ctx, @@ -32,6 +30,4 @@ bool grpc_add_connected_filter(grpc_exec_ctx* exec_ctx, /* Debug helper to dig the transport stream out of a call element */ grpc_stream* grpc_connected_channel_get_stream(grpc_call_element* elem); - - #endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */ diff --git a/src/core/lib/channel/handshaker.h b/src/core/lib/channel/handshaker.h index 6f7b01bc5d..09b4a27c1c 100644 --- a/src/core/lib/channel/handshaker.h +++ b/src/core/lib/channel/handshaker.h @@ -26,8 +26,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/tcp_server.h" - - /// Handshakers are used to perform initial handshakes on a connection /// before the client sends the initial request. Some examples of what /// a handshaker can be used for includes support for HTTP CONNECT on @@ -166,6 +164,4 @@ void grpc_handshake_manager_pending_list_remove(grpc_handshake_manager** head, void grpc_handshake_manager_pending_list_shutdown_all( grpc_exec_ctx* exec_ctx, grpc_handshake_manager* head, grpc_error* why); - - #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_H */ diff --git a/src/core/lib/channel/handshaker_factory.h b/src/core/lib/channel/handshaker_factory.h index 79e22c59b2..ca7c26b50a 100644 --- a/src/core/lib/channel/handshaker_factory.h +++ b/src/core/lib/channel/handshaker_factory.h @@ -24,8 +24,6 @@ #include "src/core/lib/channel/handshaker.h" #include "src/core/lib/iomgr/exec_ctx.h" - - // A handshaker factory is used to create handshakers. typedef struct grpc_handshaker_factory grpc_handshaker_factory; @@ -50,6 +48,4 @@ void grpc_handshaker_factory_add_handshakers( void grpc_handshaker_factory_destroy( grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory); - - #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_FACTORY_H */ diff --git a/src/core/lib/channel/handshaker_registry.h b/src/core/lib/channel/handshaker_registry.h index 5c503ec883..a3b2ac1dc7 100644 --- a/src/core/lib/channel/handshaker_registry.h +++ b/src/core/lib/channel/handshaker_registry.h @@ -24,8 +24,6 @@ #include "src/core/lib/channel/handshaker_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef enum { HANDSHAKER_CLIENT = 0, HANDSHAKER_SERVER, @@ -47,6 +45,4 @@ void grpc_handshakers_add(grpc_exec_ctx* exec_ctx, const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr); - - #endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_REGISTRY_H */ diff --git a/src/core/lib/compression/algorithm_metadata.h b/src/core/lib/compression/algorithm_metadata.h index 7e32fe1437..08feafc1bb 100644 --- a/src/core/lib/compression/algorithm_metadata.h +++ b/src/core/lib/compression/algorithm_metadata.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/transport/metadata.h" - - /** Return compression algorithm based metadata value */ grpc_slice grpc_compression_algorithm_slice( grpc_compression_algorithm algorithm); @@ -51,6 +49,4 @@ grpc_compression_algorithm grpc_compression_algorithm_from_slice( grpc_stream_compression_algorithm grpc_stream_compression_algorithm_from_slice( grpc_slice str); - - #endif /* GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H */ diff --git a/src/core/lib/compression/message_compress.h b/src/core/lib/compression/message_compress.h index 137e45431c..ca8ca37f8e 100644 --- a/src/core/lib/compression/message_compress.h +++ b/src/core/lib/compression/message_compress.h @@ -22,8 +22,6 @@ #include #include - - /* compress 'input' to 'output' using 'algorithm'. On success, appends compressed slices to output and returns 1. On failure, appends uncompressed slices to output and returns 0. */ @@ -38,6 +36,4 @@ int grpc_msg_decompress(grpc_exec_ctx* exec_ctx, grpc_compression_algorithm algorithm, grpc_slice_buffer* input, grpc_slice_buffer* output); - - #endif /* GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H */ diff --git a/src/core/lib/compression/stream_compression.h b/src/core/lib/compression/stream_compression.h index 8d4f0e725d..8322835c4f 100644 --- a/src/core/lib/compression/stream_compression.h +++ b/src/core/lib/compression/stream_compression.h @@ -26,8 +26,6 @@ #include "src/core/lib/transport/static_metadata.h" - - typedef struct grpc_stream_compression_vtable grpc_stream_compression_vtable; /* Stream compression/decompression context */ @@ -113,6 +111,4 @@ void grpc_stream_compression_context_destroy( int grpc_stream_compression_method_parse( grpc_slice value, bool is_compress, grpc_stream_compression_method* method); - - #endif diff --git a/src/core/lib/compression/stream_compression_gzip.h b/src/core/lib/compression/stream_compression_gzip.h index 735543f3f9..7cf49a0de9 100644 --- a/src/core/lib/compression/stream_compression_gzip.h +++ b/src/core/lib/compression/stream_compression_gzip.h @@ -21,10 +21,6 @@ #include "src/core/lib/compression/stream_compression.h" - - extern const grpc_stream_compression_vtable grpc_stream_compression_gzip_vtable; - - #endif diff --git a/src/core/lib/compression/stream_compression_identity.h b/src/core/lib/compression/stream_compression_identity.h index 9f1166724b..41926e949e 100644 --- a/src/core/lib/compression/stream_compression_identity.h +++ b/src/core/lib/compression/stream_compression_identity.h @@ -21,11 +21,7 @@ #include "src/core/lib/compression/stream_compression.h" - - extern const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable; - - #endif diff --git a/src/core/lib/debug/stats.h b/src/core/lib/debug/stats.h index 1a3a9c5384..55db44e0c2 100644 --- a/src/core/lib/debug/stats.h +++ b/src/core/lib/debug/stats.h @@ -23,8 +23,6 @@ #include "src/core/lib/debug/stats_data.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef struct grpc_stats_data { gpr_atm counters[GRPC_STATS_COUNTER_COUNT]; gpr_atm histograms[GRPC_STATS_HISTOGRAM_BUCKETS]; @@ -60,6 +58,4 @@ double grpc_stats_histo_percentile(const grpc_stats_data* data, size_t grpc_stats_histo_count(const grpc_stats_data* data, grpc_stats_histograms histogram); - - #endif diff --git a/src/core/lib/debug/stats_data.h b/src/core/lib/debug/stats_data.h index 7bd6ccff6f..8a5bc97389 100644 --- a/src/core/lib/debug/stats_data.h +++ b/src/core/lib/debug/stats_data.h @@ -24,8 +24,6 @@ #include #include "src/core/lib/iomgr/exec_ctx.h" - - typedef enum { GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED, GRPC_STATS_COUNTER_SERVER_CALLS_CREATED, @@ -500,6 +498,4 @@ extern const int* const grpc_stats_histo_bucket_boundaries[13]; extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx* exec_ctx, int x); - - #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */ diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index 237793eeb3..66cca14447 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -23,8 +23,6 @@ #include #include - - #if defined(__has_feature) #if __has_feature(thread_sanitizer) #define GRPC_THREADSAFE_TRACER @@ -54,6 +52,4 @@ void grpc_register_tracer(grpc_tracer_flag* flag); void grpc_tracer_init(const char* env_var_name); void grpc_tracer_shutdown(void); - - #endif /* GRPC_CORE_LIB_DEBUG_TRACE_H */ diff --git a/src/core/lib/http/format_request.h b/src/core/lib/http/format_request.h index 65be293f1b..c1919651f9 100644 --- a/src/core/lib/http/format_request.h +++ b/src/core/lib/http/format_request.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/http/httpcli.h" - - grpc_slice grpc_httpcli_format_get_request(const grpc_httpcli_request* request); grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request, const char* body_bytes, @@ -31,6 +29,4 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request, grpc_slice grpc_httpcli_format_connect_request( const grpc_httpcli_request* request); - - #endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */ diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index d1027b82c3..6f675568bd 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -32,8 +32,6 @@ /* User agent this library reports */ #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0" - - /* Tracks in-progress http requests TODO(ctiller): allow caching and capturing multiple requests for the same content and combining them */ @@ -125,6 +123,4 @@ typedef int (*grpc_httpcli_post_override)( void grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post); - - #endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */ diff --git a/src/core/lib/http/parser.h b/src/core/lib/http/parser.h index 0a17e6b694..add6042f9b 100644 --- a/src/core/lib/http/parser.h +++ b/src/core/lib/http/parser.h @@ -27,8 +27,6 @@ /* Maximum length of a header string of the form 'Key: Value\r\n' */ #define GRPC_HTTP_PARSER_MAX_HEADER_LENGTH 4096 - - /* A single header to be passed in a request */ typedef struct grpc_http_header { char* key; @@ -111,6 +109,4 @@ void grpc_http_response_destroy(grpc_http_response* response); extern grpc_tracer_flag grpc_http1_trace; - - #endif /* GRPC_CORE_LIB_HTTP_PARSER_H */ diff --git a/src/core/lib/iomgr/block_annotate.h b/src/core/lib/iomgr/block_annotate.h index 6eecd651f9..340ebcb1af 100644 --- a/src/core/lib/iomgr/block_annotate.h +++ b/src/core/lib/iomgr/block_annotate.h @@ -19,13 +19,9 @@ #ifndef GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H #define GRPC_CORE_LIB_IOMGR_BLOCK_ANNOTATE_H - - void gpr_thd_start_blocking_region(); void gpr_thd_end_blocking_region(); - - /* These annotations identify the beginning and end of regions where the code may block for reasons other than synchronization functions. These include poll, epoll, and getaddrinfo. */ diff --git a/src/core/lib/iomgr/call_combiner.h b/src/core/lib/iomgr/call_combiner.h index 66aaf50a49..5cfb3f0c07 100644 --- a/src/core/lib/iomgr/call_combiner.h +++ b/src/core/lib/iomgr/call_combiner.h @@ -27,8 +27,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" - - // A simple, lock-free mechanism for serializing activity related to a // single call. This is similar to a combiner but is more lightweight. // @@ -120,6 +118,4 @@ void grpc_call_combiner_cancel(grpc_exec_ctx* exec_ctx, grpc_call_combiner* call_combiner, grpc_error* error); - - #endif /* GRPC_CORE_LIB_IOMGR_CALL_COMBINER_H */ diff --git a/src/core/lib/iomgr/combiner.h b/src/core/lib/iomgr/combiner.h index e37e621a75..664326bc0c 100644 --- a/src/core/lib/iomgr/combiner.h +++ b/src/core/lib/iomgr/combiner.h @@ -26,8 +26,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/support/mpscq.h" - - // Provides serialized access to some resource. // Each action queued on a combiner is executed serially in a borrowed thread. // The actual thread executing actions may change over time (but there will only @@ -65,6 +63,4 @@ bool grpc_combiner_continue_exec_ctx(grpc_exec_ctx* exec_ctx); extern grpc_tracer_flag grpc_combiner_trace; - - #endif /* GRPC_CORE_LIB_IOMGR_COMBINER_H */ diff --git a/src/core/lib/iomgr/endpoint.h b/src/core/lib/iomgr/endpoint.h index 8918438d23..6ab0a6591c 100644 --- a/src/core/lib/iomgr/endpoint.h +++ b/src/core/lib/iomgr/endpoint.h @@ -26,8 +26,6 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resource_quota.h" - - /* An endpoint caps a streaming channel between two communicating processes. Examples may be: a tcp socket, , or some shared memory. */ @@ -104,6 +102,4 @@ struct grpc_endpoint { const grpc_endpoint_vtable* vtable; }; - - #endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_H */ diff --git a/src/core/lib/iomgr/endpoint_pair.h b/src/core/lib/iomgr/endpoint_pair.h index 35158da0aa..506ffc88b4 100644 --- a/src/core/lib/iomgr/endpoint_pair.h +++ b/src/core/lib/iomgr/endpoint_pair.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/endpoint.h" - - typedef struct { grpc_endpoint* client; grpc_endpoint* server; @@ -31,6 +29,4 @@ typedef struct { grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name, grpc_channel_args* args); - - #endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */ diff --git a/src/core/lib/iomgr/error.h b/src/core/lib/iomgr/error.h index f0d4437a51..bde9a24c47 100644 --- a/src/core/lib/iomgr/error.h +++ b/src/core/lib/iomgr/error.h @@ -29,8 +29,6 @@ #include "src/core/lib/debug/trace.h" - - /// Opaque representation of an error. /// See https://github.com/grpc/grpc/blob/master/doc/core/grpc-error.md for a /// full write up of this object. @@ -203,6 +201,4 @@ bool grpc_log_if_error(const char* what, grpc_error* error, const char* file, #define GRPC_LOG_IF_ERROR(what, error) \ grpc_log_if_error((what), (error), __FILE__, __LINE__) - - #endif /* GRPC_CORE_LIB_IOMGR_ERROR_H */ diff --git a/src/core/lib/iomgr/error_internal.h b/src/core/lib/iomgr/error_internal.h index 26088b2210..6cb09c2cdb 100644 --- a/src/core/lib/iomgr/error_internal.h +++ b/src/core/lib/iomgr/error_internal.h @@ -25,8 +25,6 @@ #include #include "src/core/lib/iomgr/error.h" - - typedef struct grpc_linked_error grpc_linked_error; struct grpc_linked_error { @@ -60,6 +58,4 @@ struct grpc_error { bool grpc_error_is_special(struct grpc_error* err); - - #endif /* GRPC_CORE_LIB_IOMGR_ERROR_INTERNAL_H */ diff --git a/src/core/lib/iomgr/ev_epoll1_linux.h b/src/core/lib/iomgr/ev_epoll1_linux.h index 03b61f5eb1..9a1b96bd45 100644 --- a/src/core/lib/iomgr/ev_epoll1_linux.h +++ b/src/core/lib/iomgr/ev_epoll1_linux.h @@ -22,12 +22,8 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" - - // a polling engine that utilizes a singleton epoll set and turnstile polling const grpc_event_engine_vtable* grpc_init_epoll1_linux(bool explicit_request); - - #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLL1_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_epollex_linux.h b/src/core/lib/iomgr/ev_epollex_linux.h index 6eb980d593..ffa7fc7f32 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.h +++ b/src/core/lib/iomgr/ev_epollex_linux.h @@ -22,11 +22,7 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" - - const grpc_event_engine_vtable* grpc_init_epollex_linux( bool explicitly_requested); - - #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLEX_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_epollsig_linux.h b/src/core/lib/iomgr/ev_epollsig_linux.h index 15e94bba73..5b8aba9d9f 100644 --- a/src/core/lib/iomgr/ev_epollsig_linux.h +++ b/src/core/lib/iomgr/ev_epollsig_linux.h @@ -22,8 +22,6 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/port.h" - - const grpc_event_engine_vtable* grpc_init_epollsig_linux(bool explicit_request); #ifdef GRPC_LINUX_EPOLL @@ -32,6 +30,4 @@ void* grpc_pollset_get_polling_island(grpc_pollset* ps); bool grpc_are_polling_islands_equal(void* p, void* q); #endif /* defined(GRPC_LINUX_EPOLL) */ - - #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLLSIG_LINUX_H */ diff --git a/src/core/lib/iomgr/ev_poll_posix.h b/src/core/lib/iomgr/ev_poll_posix.h index 820e14c337..f6bc624d4f 100644 --- a/src/core/lib/iomgr/ev_poll_posix.h +++ b/src/core/lib/iomgr/ev_poll_posix.h @@ -21,11 +21,7 @@ #include "src/core/lib/iomgr/ev_posix.h" - - const grpc_event_engine_vtable* grpc_init_poll_posix(bool explicit_request); const grpc_event_engine_vtable* grpc_init_poll_cv_posix(bool explicit_request); - - #endif /* GRPC_CORE_LIB_IOMGR_EV_POLL_POSIX_H */ diff --git a/src/core/lib/iomgr/ev_posix.h b/src/core/lib/iomgr/ev_posix.h index acc7f3df39..6fc10b4e3e 100644 --- a/src/core/lib/iomgr/ev_posix.h +++ b/src/core/lib/iomgr/ev_posix.h @@ -27,8 +27,6 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" - - extern grpc_tracer_flag grpc_polling_trace; /* Disabled by default */ typedef struct grpc_fd grpc_fd; @@ -160,6 +158,4 @@ extern grpc_poll_function_type grpc_poll_function; void grpc_set_event_engine_test_only(const grpc_event_engine_vtable*); const grpc_event_engine_vtable* grpc_get_event_engine_test_only(); - - #endif /* GRPC_CORE_LIB_IOMGR_EV_POSIX_H */ diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index 1baca89d6e..b415d2c255 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/closure.h" - - typedef gpr_atm grpc_millis; #define GRPC_MILLIS_INF_FUTURE GPR_ATM_MAX diff --git a/src/core/lib/iomgr/executor.h b/src/core/lib/iomgr/executor.h index 35823b0f0e..d349083eeb 100644 --- a/src/core/lib/iomgr/executor.h +++ b/src/core/lib/iomgr/executor.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/closure.h" - - typedef enum { GRPC_EXECUTOR_SHORT, GRPC_EXECUTOR_LONG @@ -47,6 +45,4 @@ bool grpc_executor_is_threaded(); grpc_executor_shutdown */ void grpc_executor_set_threading(grpc_exec_ctx* exec_ctx, bool enable); - - #endif /* GRPC_CORE_LIB_IOMGR_EXECUTOR_H */ diff --git a/src/core/lib/iomgr/gethostname.h b/src/core/lib/iomgr/gethostname.h index 19da54378a..9f10b4afa7 100644 --- a/src/core/lib/iomgr/gethostname.h +++ b/src/core/lib/iomgr/gethostname.h @@ -19,12 +19,8 @@ #ifndef GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H #define GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H - - // Returns the hostname of the local machine. // Caller takes ownership of result. char* grpc_gethostname(); - - #endif /* GRPC_CORE_LIB_IOMGR_GETHOSTNAME_H */ diff --git a/src/core/lib/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h index ca6d3c91bd..0e9c3481f7 100644 --- a/src/core/lib/iomgr/iocp_windows.h +++ b/src/core/lib/iomgr/iocp_windows.h @@ -27,8 +27,6 @@ #include "src/core/lib/iomgr/socket_windows.h" - - typedef enum { GRPC_IOCP_WORK_WORK, GRPC_IOCP_WORK_TIMEOUT, @@ -43,8 +41,6 @@ void grpc_iocp_flush(void); void grpc_iocp_shutdown(void); void grpc_iocp_add_socket(grpc_winsocket*); - - #endif #endif /* GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H */ diff --git a/src/core/lib/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h index 4e4fb4a1a2..2f00c0343d 100644 --- a/src/core/lib/iomgr/iomgr.h +++ b/src/core/lib/iomgr/iomgr.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/iomgr/port.h" - - /** Initializes the iomgr. */ void grpc_iomgr_init(grpc_exec_ctx* exec_ctx); @@ -34,6 +32,4 @@ void grpc_iomgr_start(grpc_exec_ctx* exec_ctx); * exec_ctx. */ void grpc_iomgr_shutdown(grpc_exec_ctx* exec_ctx); - - #endif /* GRPC_CORE_LIB_IOMGR_IOMGR_H */ diff --git a/src/core/lib/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h index 144a92a6c4..20b3cb70d0 100644 --- a/src/core/lib/iomgr/iomgr_internal.h +++ b/src/core/lib/iomgr/iomgr_internal.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/iomgr.h" - - typedef struct grpc_iomgr_object { char* name; struct grpc_iomgr_object* next; @@ -42,6 +40,4 @@ void grpc_iomgr_platform_shutdown(void); bool grpc_iomgr_abort_on_leaks(void); - - #endif /* GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H */ diff --git a/src/core/lib/iomgr/iomgr_uv.h b/src/core/lib/iomgr/iomgr_uv.h index 218e696e3a..3b4daaa73b 100644 --- a/src/core/lib/iomgr/iomgr_uv.h +++ b/src/core/lib/iomgr/iomgr_uv.h @@ -23,14 +23,10 @@ #include - - /* The thread ID of the thread on which grpc was initialized. Used to verify * that all calls into libuv are made on that same thread */ extern gpr_thd_id g_init_thread; - - #ifdef GRPC_UV_THREAD_CHECK #define GRPC_UV_ASSERT_SAME_THREAD() \ GPR_ASSERT(gpr_thd_currentid() == g_init_thread) diff --git a/src/core/lib/iomgr/is_epollexclusive_available.h b/src/core/lib/iomgr/is_epollexclusive_available.h index 8dc7af0bce..1d2e133a3b 100644 --- a/src/core/lib/iomgr/is_epollexclusive_available.h +++ b/src/core/lib/iomgr/is_epollexclusive_available.h @@ -21,10 +21,6 @@ #include - - bool grpc_is_epollexclusive_available(void); - - #endif /* GRPC_CORE_LIB_IOMGR_IS_EPOLLEXCLUSIVE_AVAILABLE_H */ diff --git a/src/core/lib/iomgr/load_file.h b/src/core/lib/iomgr/load_file.h index 61e0cb1a1a..a7336527ce 100644 --- a/src/core/lib/iomgr/load_file.h +++ b/src/core/lib/iomgr/load_file.h @@ -25,13 +25,9 @@ #include "src/core/lib/iomgr/error.h" - - /* Loads the content of a file into a slice. add_null_terminator will add a NULL terminator if non-zero. */ grpc_error* grpc_load_file(const char* filename, int add_null_terminator, grpc_slice* slice); - - #endif /* GRPC_CORE_LIB_IOMGR_LOAD_FILE_H */ diff --git a/src/core/lib/iomgr/polling_entity.h b/src/core/lib/iomgr/polling_entity.h index f0b4617a9d..dbe579e60d 100644 --- a/src/core/lib/iomgr/polling_entity.h +++ b/src/core/lib/iomgr/polling_entity.h @@ -22,8 +22,6 @@ #include "src/core/lib/iomgr/pollset.h" #include "src/core/lib/iomgr/pollset_set.h" - - typedef enum grpc_pollset_tag { GRPC_POLLS_NONE, GRPC_POLLS_POLLSET, @@ -67,5 +65,4 @@ void grpc_polling_entity_del_from_pollset_set(grpc_exec_ctx* exec_ctx, grpc_polling_entity* pollent, grpc_pollset_set* pss_dst); - #endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */ diff --git a/src/core/lib/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h index 761aa80643..1905e1ec33 100644 --- a/src/core/lib/iomgr/pollset.h +++ b/src/core/lib/iomgr/pollset.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" - - #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_fd_refcount; #endif @@ -82,6 +80,4 @@ grpc_error* grpc_pollset_kick(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset, grpc_pollset_worker* specific_worker) GRPC_MUST_USE_RESULT; - - #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_H */ diff --git a/src/core/lib/iomgr/pollset_set.h b/src/core/lib/iomgr/pollset_set.h index 4a3793eccb..089c15cc94 100644 --- a/src/core/lib/iomgr/pollset_set.h +++ b/src/core/lib/iomgr/pollset_set.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/pollset.h" - - /* A grpc_pollset_set is a set of pollsets that are interested in an action. Adding a pollset to a pollset_set automatically adds any fd's (etc) that have been registered with the set_set to that pollset. @@ -46,6 +44,4 @@ void grpc_pollset_set_del_pollset_set(grpc_exec_ctx* exec_ctx, grpc_pollset_set* bag, grpc_pollset_set* item); - - #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_H */ diff --git a/src/core/lib/iomgr/pollset_uv.h b/src/core/lib/iomgr/pollset_uv.h index ce62297cc7..566c110ca6 100644 --- a/src/core/lib/iomgr/pollset_uv.h +++ b/src/core/lib/iomgr/pollset_uv.h @@ -19,13 +19,9 @@ #ifndef GRPC_CORE_LIB_IOMGR_POLLSET_UV_H #define GRPC_CORE_LIB_IOMGR_POLLSET_UV_H - - extern int grpc_pollset_work_run_loop; void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); - - #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_UV_H */ diff --git a/src/core/lib/iomgr/pollset_windows.h b/src/core/lib/iomgr/pollset_windows.h index d0b4144c27..93fe7d669b 100644 --- a/src/core/lib/iomgr/pollset_windows.h +++ b/src/core/lib/iomgr/pollset_windows.h @@ -26,8 +26,6 @@ #ifdef GRPC_WINSOCK_SOCKET #include "src/core/lib/iomgr/socket_windows.h" - - /* There isn't really any such thing as a pollset under Windows, due to the nature of the IO completion ports. A Windows "pollset" is merely a mutex used to synchronize with the IOCP, and workers are condition variables @@ -65,8 +63,6 @@ struct grpc_pollset { void grpc_pollset_global_init(void); void grpc_pollset_global_shutdown(void); - - #endif #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */ diff --git a/src/core/lib/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h index 790d614aae..5105020404 100644 --- a/src/core/lib/iomgr/resolve_address.h +++ b/src/core/lib/iomgr/resolve_address.h @@ -25,8 +25,6 @@ #define GRPC_MAX_SOCKADDR_SIZE 128 - - typedef struct { char addr[GRPC_MAX_SOCKADDR_SIZE]; size_t len; @@ -54,6 +52,4 @@ extern grpc_error* (*grpc_blocking_resolve_address)( const char* name, const char* default_port, grpc_resolved_addresses** addresses); - - #endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */ diff --git a/src/core/lib/iomgr/resource_quota.h b/src/core/lib/iomgr/resource_quota.h index 331efe0e35..e085ab11d0 100644 --- a/src/core/lib/iomgr/resource_quota.h +++ b/src/core/lib/iomgr/resource_quota.h @@ -24,8 +24,6 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" - - /** \file Tracks resource usage against a pool. The current implementation tracks only memory usage, but in the future @@ -152,6 +150,4 @@ grpc_slice grpc_resource_user_slice_malloc(grpc_exec_ctx* exec_ctx, grpc_resource_user* resource_user, size_t size); - - #endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */ diff --git a/src/core/lib/iomgr/sockaddr_utils.h b/src/core/lib/iomgr/sockaddr_utils.h index 0d5cc5bb42..e3bd51a4ad 100644 --- a/src/core/lib/iomgr/sockaddr_utils.h +++ b/src/core/lib/iomgr/sockaddr_utils.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/resolve_address.h" - - /* Returns true if addr is an IPv4-mapped IPv6 address within the ::ffff:0.0.0.0/96 range, or false otherwise. @@ -79,6 +77,4 @@ const char* grpc_sockaddr_get_uri_scheme(const grpc_resolved_address* addr); int grpc_sockaddr_get_family(const grpc_resolved_address* resolved_addr); - - #endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */ diff --git a/src/core/lib/iomgr/socket_factory_posix.h b/src/core/lib/iomgr/socket_factory_posix.h index 920a72901e..af57cc5b60 100644 --- a/src/core/lib/iomgr/socket_factory_posix.h +++ b/src/core/lib/iomgr/socket_factory_posix.h @@ -23,8 +23,6 @@ #include #include "src/core/lib/iomgr/resolve_address.h" - - /** The virtual table of grpc_socket_factory */ typedef struct { /** Replacement for socket(2) */ @@ -66,6 +64,4 @@ int grpc_socket_factory_compare(grpc_socket_factory* a, grpc_socket_factory* b); grpc_socket_factory* grpc_socket_factory_ref(grpc_socket_factory* factory); void grpc_socket_factory_unref(grpc_socket_factory* factory); - - #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_FACTORY_POSIX_H */ diff --git a/src/core/lib/iomgr/socket_mutator.h b/src/core/lib/iomgr/socket_mutator.h index 703aee3145..0a97cf657f 100644 --- a/src/core/lib/iomgr/socket_mutator.h +++ b/src/core/lib/iomgr/socket_mutator.h @@ -24,8 +24,6 @@ #include - - /** The virtual table of grpc_socket_mutator */ typedef struct { /** Mutates the socket opitons of \a fd */ @@ -58,6 +56,4 @@ int grpc_socket_mutator_compare(grpc_socket_mutator* a, grpc_socket_mutator* b); grpc_socket_mutator* grpc_socket_mutator_ref(grpc_socket_mutator* mutator); void grpc_socket_mutator_unref(grpc_socket_mutator* mutator); - - #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_MUTATOR_H */ diff --git a/src/core/lib/iomgr/socket_utils.h b/src/core/lib/iomgr/socket_utils.h index dc5c4dc56e..9fd141b6de 100644 --- a/src/core/lib/iomgr/socket_utils.h +++ b/src/core/lib/iomgr/socket_utils.h @@ -21,11 +21,7 @@ #include - - /* A wrapper for inet_ntop on POSIX systems and InetNtop on Windows systems */ const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size); - - #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_H */ diff --git a/src/core/lib/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h index 02fdd02e2b..77df4205ff 100644 --- a/src/core/lib/iomgr/socket_utils_posix.h +++ b/src/core/lib/iomgr/socket_utils_posix.h @@ -29,8 +29,6 @@ #include "src/core/lib/iomgr/socket_factory_posix.h" #include "src/core/lib/iomgr/socket_mutator.h" - - /* a wrapper for accept or accept4 */ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock, int cloexec); @@ -131,6 +129,4 @@ grpc_error* grpc_create_dualstack_socket_using_factory( grpc_socket_factory* factory, const grpc_resolved_address* addr, int type, int protocol, grpc_dualstack_mode* dsmode, int* newfd); - - #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */ diff --git a/src/core/lib/iomgr/socket_windows.h b/src/core/lib/iomgr/socket_windows.h index 5a09c52b7a..04e0a89d70 100644 --- a/src/core/lib/iomgr/socket_windows.h +++ b/src/core/lib/iomgr/socket_windows.h @@ -31,8 +31,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr_internal.h" - - /* This holds the data for an outstanding read or write on a socket. The mutex to protect the concurrent access to that data is the one inside the winsocket wrapper. */ @@ -112,8 +110,6 @@ void grpc_socket_become_ready(grpc_exec_ctx* exec_ctx, grpc_winsocket* winsocket, grpc_winsocket_callback_info* ci); - - #endif #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H */ diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index 9ad06f2f9e..75e2fe0f36 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/resolve_address.h" - - /* Asynchronously connect to an address (specified as (addr, len)), and call cb with arg and the completed connection when done (or call cb with arg and NULL on failure). @@ -39,6 +37,4 @@ void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* on_connect, const grpc_resolved_address* addr, grpc_millis deadline); - - #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */ diff --git a/src/core/lib/iomgr/tcp_client_posix.h b/src/core/lib/iomgr/tcp_client_posix.h index aac74effba..2b1fe79e90 100644 --- a/src/core/lib/iomgr/tcp_client_posix.h +++ b/src/core/lib/iomgr/tcp_client_posix.h @@ -23,12 +23,8 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/tcp_client.h" - - grpc_endpoint* grpc_tcp_client_create_from_fd( grpc_exec_ctx* exec_ctx, grpc_fd* fd, const grpc_channel_args* channel_args, const char* addr_str); - - #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_posix.h b/src/core/lib/iomgr/tcp_posix.h index 273e3277a9..ff89965801 100644 --- a/src/core/lib/iomgr/tcp_posix.h +++ b/src/core/lib/iomgr/tcp_posix.h @@ -33,8 +33,6 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/ev_posix.h" - - extern grpc_tracer_flag grpc_tcp_trace; /* Create a tcp endpoint given a file desciptor and a read slice size. @@ -55,6 +53,4 @@ int grpc_tcp_fd(grpc_endpoint* ep); void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep, int* fd, grpc_closure* done); - - #endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index ab271f997c..a1757a2b3e 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/resolve_address.h" - - /* Forward decl of grpc_tcp_server */ typedef struct grpc_tcp_server grpc_tcp_server; @@ -100,6 +98,4 @@ void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s); void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s); - - #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */ diff --git a/src/core/lib/iomgr/tcp_server_utils_posix.h b/src/core/lib/iomgr/tcp_server_utils_posix.h index fb2510ec39..6046f257f9 100644 --- a/src/core/lib/iomgr/tcp_server_utils_posix.h +++ b/src/core/lib/iomgr/tcp_server_utils_posix.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/tcp_server.h" - - /* one listening port */ typedef struct grpc_tcp_listener { int fd; @@ -119,6 +117,4 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd, /* Ruturn true if the platform supports ifaddrs */ bool grpc_tcp_server_have_ifaddrs(void); - - #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_UTILS_POSIX_H */ diff --git a/src/core/lib/iomgr/tcp_uv.h b/src/core/lib/iomgr/tcp_uv.h index df12c882e0..aa648edcf3 100644 --- a/src/core/lib/iomgr/tcp_uv.h +++ b/src/core/lib/iomgr/tcp_uv.h @@ -42,14 +42,10 @@ extern grpc_tracer_flag grpc_tcp_trace; #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192 - - grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle, grpc_resource_quota* resource_quota, char* peer_string); - - #endif /* GRPC_UV */ #endif /* GRPC_CORE_LIB_IOMGR_TCP_UV_H */ diff --git a/src/core/lib/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h index ccfde72723..28287e2795 100644 --- a/src/core/lib/iomgr/tcp_windows.h +++ b/src/core/lib/iomgr/tcp_windows.h @@ -35,8 +35,6 @@ #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/socket_windows.h" - - /* Create a tcp endpoint given a winsock handle. * Takes ownership of the handle. */ @@ -46,8 +44,6 @@ grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket, grpc_error* grpc_tcp_prepare_socket(SOCKET sock); - - #endif #endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */ diff --git a/src/core/lib/iomgr/time_averaged_stats.h b/src/core/lib/iomgr/time_averaged_stats.h index 519bc2db16..8745f7fa13 100644 --- a/src/core/lib/iomgr/time_averaged_stats.h +++ b/src/core/lib/iomgr/time_averaged_stats.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H #define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H - - /* This tracks a time-decaying weighted average. It works by collecting batches of samples and then mixing their average into a time-decaying weighted mean. It is designed for batch operations where we do many adds @@ -72,6 +70,4 @@ void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats* stats, value. */ double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats); - - #endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */ diff --git a/src/core/lib/iomgr/timer.h b/src/core/lib/iomgr/timer.h index 9e454d995d..b9acce229e 100644 --- a/src/core/lib/iomgr/timer.h +++ b/src/core/lib/iomgr/timer.h @@ -32,8 +32,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/iomgr.h" - - typedef struct grpc_timer grpc_timer; /* Initialize *timer. When expired or canceled, closure will be called with @@ -104,6 +102,4 @@ void grpc_timer_consume_kick(void); void grpc_kick_poller(void); - - #endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */ diff --git a/src/core/lib/iomgr/timer_heap.h b/src/core/lib/iomgr/timer_heap.h index 12a7ab2884..436eef55a6 100644 --- a/src/core/lib/iomgr/timer_heap.h +++ b/src/core/lib/iomgr/timer_heap.h @@ -21,8 +21,6 @@ #include "src/core/lib/iomgr/timer.h" - - typedef struct { grpc_timer** timers; uint32_t timer_count; @@ -41,6 +39,4 @@ void grpc_timer_heap_pop(grpc_timer_heap* heap); int grpc_timer_heap_is_empty(grpc_timer_heap* heap); - - #endif /* GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H */ diff --git a/src/core/lib/iomgr/timer_manager.h b/src/core/lib/iomgr/timer_manager.h index 861ee6845e..0ba502928a 100644 --- a/src/core/lib/iomgr/timer_manager.h +++ b/src/core/lib/iomgr/timer_manager.h @@ -21,8 +21,6 @@ #include - - /* Timer Manager tries to keep one thread waiting for the next timeout at all times */ @@ -36,6 +34,4 @@ void grpc_timer_manager_set_threading(bool enabled); * disabled */ void grpc_timer_manager_tick(void); - - #endif /* GRPC_CORE_LIB_IOMGR_TIMER_MANAGER_H */ diff --git a/src/core/lib/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h index 6bd5b205c3..8cc08d321d 100644 --- a/src/core/lib/iomgr/udp_server.h +++ b/src/core/lib/iomgr/udp_server.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/resolve_address.h" - - /* Forward decl of struct grpc_server */ /* This is not typedef'ed to avoid a typedef-redefinition error */ struct grpc_server; @@ -75,6 +73,4 @@ int grpc_udp_server_add_port(grpc_udp_server* s, void grpc_udp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_udp_server* server, grpc_closure* on_done); - - #endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */ diff --git a/src/core/lib/iomgr/unix_sockets_posix.h b/src/core/lib/iomgr/unix_sockets_posix.h index a0d9072370..1c079e6e76 100644 --- a/src/core/lib/iomgr/unix_sockets_posix.h +++ b/src/core/lib/iomgr/unix_sockets_posix.h @@ -25,8 +25,6 @@ #include "src/core/lib/iomgr/resolve_address.h" - - void grpc_create_socketpair_if_unix(int sv[2]); grpc_error* grpc_resolve_unix_domain_address( @@ -40,6 +38,4 @@ void grpc_unlink_if_unix_domain_socket( char* grpc_sockaddr_to_uri_unix_if_possible( const grpc_resolved_address* resolved_addr); - - #endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_cv.h b/src/core/lib/iomgr/wakeup_fd_cv.h index 94473318e5..017e41bfa8 100644 --- a/src/core/lib/iomgr/wakeup_fd_cv.h +++ b/src/core/lib/iomgr/wakeup_fd_cv.h @@ -40,8 +40,6 @@ #define GRPC_FD_TO_IDX(fd) (-(fd)-1) #define GRPC_IDX_TO_FD(idx) (-(idx)-1) - - typedef struct cv_node { gpr_cv* cv; struct cv_node* next; @@ -66,6 +64,4 @@ typedef struct cv_fd_table { extern const grpc_wakeup_fd_vtable grpc_cv_wakeup_fd_vtable; - - #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_CV_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h index bb1dfd7a26..326a0c4e01 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.h +++ b/src/core/lib/iomgr/wakeup_fd_pipe.h @@ -21,10 +21,6 @@ #include "src/core/lib/iomgr/wakeup_fd_posix.h" - - extern const grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable; - - #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H */ diff --git a/src/core/lib/iomgr/wakeup_fd_posix.h b/src/core/lib/iomgr/wakeup_fd_posix.h index 65a80d44f4..a9584d0d48 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.h +++ b/src/core/lib/iomgr/wakeup_fd_posix.h @@ -49,8 +49,6 @@ #include "src/core/lib/iomgr/error.h" - - void grpc_wakeup_fd_global_init(void); void grpc_wakeup_fd_global_destroy(void); @@ -93,6 +91,4 @@ void grpc_wakeup_fd_destroy(grpc_wakeup_fd* fd_info); * wakeup_fd_nospecial.c if no such implementation exists. */ extern const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable; - - #endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H */ diff --git a/src/core/lib/json/json.h b/src/core/lib/json/json.h index 0e841e0726..bbd43025eb 100644 --- a/src/core/lib/json/json.h +++ b/src/core/lib/json/json.h @@ -23,8 +23,6 @@ #include "src/core/lib/json/json_common.h" - - /* A tree-like structure to hold json values. The key and value pointers * are not owned by it. */ @@ -72,6 +70,4 @@ char* grpc_json_dump_to_string(grpc_json* json, int indent); grpc_json* grpc_json_create(grpc_json_type type); void grpc_json_destroy(grpc_json* json); - - #endif /* GRPC_CORE_LIB_JSON_JSON_H */ diff --git a/src/core/lib/json/json_reader.h b/src/core/lib/json/json_reader.h index 62718bbcdc..03185cb2b6 100644 --- a/src/core/lib/json/json_reader.h +++ b/src/core/lib/json/json_reader.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/json/json_common.h" - - typedef enum { GRPC_JSON_STATE_OBJECT_KEY_BEGIN, GRPC_JSON_STATE_OBJECT_KEY_STRING, @@ -144,6 +142,4 @@ void grpc_json_reader_init(grpc_json_reader* reader, */ int grpc_json_reader_is_complete(grpc_json_reader* reader); - - #endif /* GRPC_CORE_LIB_JSON_JSON_READER_H */ diff --git a/src/core/lib/json/json_writer.h b/src/core/lib/json/json_writer.h index ead8426d03..a4f2d4daeb 100644 --- a/src/core/lib/json/json_writer.h +++ b/src/core/lib/json/json_writer.h @@ -35,8 +35,6 @@ #include "src/core/lib/json/json_common.h" - - typedef struct grpc_json_writer_vtable { /* Adds a character to the output stream. */ void (*output_char)(void* userdata, char); @@ -81,6 +79,4 @@ void grpc_json_writer_value_raw_with_len(grpc_json_writer* writer, void grpc_json_writer_value_string(grpc_json_writer* writer, const char* string); - - #endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */ diff --git a/src/core/lib/profiling/timers.h b/src/core/lib/profiling/timers.h index a0a0a4fff1..9f11f771e6 100644 --- a/src/core/lib/profiling/timers.h +++ b/src/core/lib/profiling/timers.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_LIB_PROFILING_TIMERS_H #define GRPC_CORE_LIB_PROFILING_TIMERS_H - - void gpr_timers_global_init(void); void gpr_timers_global_destroy(void); diff --git a/src/core/lib/security/context/security_context.h b/src/core/lib/security/context/security_context.h index 261bc167f5..41152643ea 100644 --- a/src/core/lib/security/context/security_context.h +++ b/src/core/lib/security/context/security_context.h @@ -26,8 +26,6 @@ extern grpc_tracer_flag grpc_trace_auth_context_refcount; #endif - - /* --- grpc_auth_context --- High level authentication context object. Can optionally be chained. */ @@ -114,6 +112,4 @@ grpc_auth_context* grpc_auth_context_from_arg(const grpc_arg* arg); grpc_auth_context* grpc_find_auth_context_in_args( const grpc_channel_args* args); - - #endif /* GRPC_CORE_LIB_SECURITY_CONTEXT_SECURITY_CONTEXT_H */ diff --git a/src/core/lib/security/credentials/composite/composite_credentials.h b/src/core/lib/security/credentials/composite/composite_credentials.h index e3438dd3d1..11990d38ff 100644 --- a/src/core/lib/security/credentials/composite/composite_credentials.h +++ b/src/core/lib/security/credentials/composite/composite_credentials.h @@ -21,8 +21,6 @@ #include "src/core/lib/security/credentials/credentials.h" - - typedef struct { grpc_call_credentials** creds_array; size_t num_creds; @@ -55,7 +53,5 @@ typedef struct { grpc_call_credentials_array inner; } grpc_composite_call_credentials; - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/credentials/credentials.h b/src/core/lib/security/credentials/credentials.h index f74b047edc..bc1bd11c77 100644 --- a/src/core/lib/security/credentials/credentials.h +++ b/src/core/lib/security/credentials/credentials.h @@ -29,8 +29,6 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/security/transport/security_connector.h" - - struct grpc_http_response; /* --- Constants. --- */ @@ -254,6 +252,4 @@ grpc_credentials_metadata_request* grpc_credentials_metadata_request_create( void grpc_credentials_metadata_request_destroy( grpc_exec_ctx* exec_ctx, grpc_credentials_metadata_request* r); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/fake/fake_credentials.h b/src/core/lib/security/credentials/fake/fake_credentials.h index 7645671cee..0e9ff155d8 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.h +++ b/src/core/lib/security/credentials/fake/fake_credentials.h @@ -21,8 +21,6 @@ #include "src/core/lib/security/credentials/credentials.h" - - /* -- Fake transport security credentials. -- */ /* Creates a fake transport security credentials object for testing. */ @@ -58,6 +56,4 @@ typedef struct { bool is_async; } grpc_md_only_test_credentials; - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.h b/src/core/lib/security/credentials/google_default/google_default_credentials.h index 6453480f0f..b163e48631 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.h +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.h @@ -23,8 +23,6 @@ #include "src/core/lib/security/credentials/credentials.h" - - #define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY "gcloud" #define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE \ "application_default_credentials.json" @@ -43,7 +41,5 @@ void grpc_flush_cached_google_default_credentials(void); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_GOOGLE_DEFAULT_GOOGLE_DEFAULT_CREDENTIALS_H \ */ diff --git a/src/core/lib/security/credentials/jwt/json_token.h b/src/core/lib/security/credentials/jwt/json_token.h index 038f470a42..9b774882b7 100644 --- a/src/core/lib/security/credentials/jwt/json_token.h +++ b/src/core/lib/security/credentials/jwt/json_token.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H - - #include #include @@ -72,6 +70,4 @@ typedef char* (*grpc_jwt_encode_and_sign_override)( void grpc_jwt_encode_and_sign_set_override( grpc_jwt_encode_and_sign_override func); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */ diff --git a/src/core/lib/security/credentials/jwt/jwt_credentials.h b/src/core/lib/security/credentials/jwt/jwt_credentials.h index cd461d217e..85f068aac8 100644 --- a/src/core/lib/security/credentials/jwt/jwt_credentials.h +++ b/src/core/lib/security/credentials/jwt/jwt_credentials.h @@ -22,8 +22,6 @@ #include "src/core/lib/security/credentials/credentials.h" #include "src/core/lib/security/credentials/jwt/json_token.h" - - typedef struct { grpc_call_credentials base; @@ -47,6 +45,4 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key( grpc_exec_ctx* exec_ctx, grpc_auth_json_key key, gpr_timespec token_lifetime); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/jwt/jwt_verifier.h b/src/core/lib/security/credentials/jwt/jwt_verifier.h index 98db50887b..2aacd497c7 100644 --- a/src/core/lib/security/credentials/jwt/jwt_verifier.h +++ b/src/core/lib/security/credentials/jwt/jwt_verifier.h @@ -32,8 +32,6 @@ #define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX \ "www.googleapis.com/robot/v1/metadata/x509" - - /* --- grpc_jwt_verifier_status. --- */ typedef enum { @@ -124,6 +122,4 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims* claims, const char* audience); const char* grpc_jwt_issuer_email_domain(const char* issuer); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_VERIFIER_H */ diff --git a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h index 57332f0a39..627783d648 100644 --- a/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +++ b/src/core/lib/security/credentials/oauth2/oauth2_credentials.h @@ -22,8 +22,6 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/security/credentials/credentials.h" - - // auth_refresh_token parsing. typedef struct { const char* type; @@ -104,6 +102,4 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response( grpc_exec_ctx* exec_ctx, const struct grpc_http_response* response, grpc_mdelem* token_md, grpc_millis* token_lifetime); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H */ diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.h b/src/core/lib/security/credentials/ssl/ssl_credentials.h index 5d10de71a3..0003905857 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.h +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.h @@ -20,8 +20,6 @@ #include "src/core/lib/security/credentials/credentials.h" - - typedef struct { grpc_channel_credentials base; grpc_ssl_config config; @@ -51,6 +49,4 @@ tsi_ssl_pem_key_cert_pair* grpc_convert_grpc_to_tsi_cert_pairs( void grpc_tsi_ssl_pem_key_cert_pairs_destroy(tsi_ssl_pem_key_cert_pair* kp, size_t num_key_cert_pairs); - - #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_SSL_SSL_CREDENTIALS_H */ diff --git a/src/core/lib/security/transport/auth_filters.h b/src/core/lib/security/transport/auth_filters.h index add335d74f..e999a027ae 100644 --- a/src/core/lib/security/transport/auth_filters.h +++ b/src/core/lib/security/transport/auth_filters.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_client_auth_filter; extern const grpc_channel_filter grpc_server_auth_filter; @@ -34,6 +32,4 @@ void grpc_auth_metadata_context_build( void grpc_auth_metadata_context_reset(grpc_auth_metadata_context* context); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_AUTH_FILTERS_H */ diff --git a/src/core/lib/security/transport/lb_targets_info.h b/src/core/lib/security/transport/lb_targets_info.h index 0442d8df0b..7543d3c012 100644 --- a/src/core/lib/security/transport/lb_targets_info.h +++ b/src/core/lib/security/transport/lb_targets_info.h @@ -21,8 +21,6 @@ #include "src/core/lib/slice/slice_hash_table.h" - - /** Return a channel argument containing \a targets_info. */ grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table* targets_info); @@ -31,6 +29,4 @@ grpc_arg grpc_lb_targets_info_create_channel_arg( grpc_slice_hash_table* grpc_lb_targets_info_find_in_args( const grpc_channel_args* args); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_LB_TARGETS_INFO_H */ diff --git a/src/core/lib/security/transport/secure_endpoint.h b/src/core/lib/security/transport/secure_endpoint.h index 7f0843f17a..aff6b22050 100644 --- a/src/core/lib/security/transport/secure_endpoint.h +++ b/src/core/lib/security/transport/secure_endpoint.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/iomgr/endpoint.h" - - struct tsi_frame_protector; struct tsi_zero_copy_grpc_protector; @@ -38,6 +36,4 @@ grpc_endpoint* grpc_secure_endpoint_create( grpc_endpoint* to_wrap, grpc_slice* leftover_slices, size_t leftover_nslices); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURE_ENDPOINT_H */ diff --git a/src/core/lib/security/transport/security_connector.h b/src/core/lib/security/transport/security_connector.h index d680db6c8e..15c0430010 100644 --- a/src/core/lib/security/transport/security_connector.h +++ b/src/core/lib/security/transport/security_connector.h @@ -29,8 +29,6 @@ #include "src/core/tsi/ssl_transport_security.h" #include "src/core/tsi/transport_security_interface.h" - - #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_security_connector_refcount; #endif @@ -259,6 +257,4 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( const grpc_auth_context* auth_context); void tsi_shallow_peer_destruct(tsi_peer* peer); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_CONNECTOR_H */ diff --git a/src/core/lib/security/transport/security_handshaker.h b/src/core/lib/security/transport/security_handshaker.h index fd23a784a4..6c3a0510ce 100644 --- a/src/core/lib/security/transport/security_handshaker.h +++ b/src/core/lib/security/transport/security_handshaker.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/security/transport/security_connector.h" - - /// Creates a security handshaker using \a handshaker. grpc_handshaker* grpc_security_handshaker_create( grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker, @@ -33,6 +31,4 @@ grpc_handshaker* grpc_security_handshaker_create( /// Registers security handshaker factories. void grpc_security_register_handshaker_factories(); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_HANDSHAKER_H */ diff --git a/src/core/lib/security/transport/tsi_error.h b/src/core/lib/security/transport/tsi_error.h index 9dd7ab4a4e..8fa6c480ac 100644 --- a/src/core/lib/security/transport/tsi_error.h +++ b/src/core/lib/security/transport/tsi_error.h @@ -22,10 +22,6 @@ #include "src/core/lib/iomgr/error.h" #include "src/core/tsi/transport_security_interface.h" - - grpc_error* grpc_set_tsi_error_result(grpc_error* error, tsi_result result); - - #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_TSI_ERROR_H */ diff --git a/src/core/lib/security/util/json_util.h b/src/core/lib/security/util/json_util.h index f99edcd153..b7e46d4062 100644 --- a/src/core/lib/security/util/json_util.h +++ b/src/core/lib/security/util/json_util.h @@ -28,8 +28,6 @@ #define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account" #define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user" - - // Gets a child property from a json node. const char* grpc_json_get_string_property(const grpc_json* json, const char* prop_name); @@ -39,6 +37,4 @@ const char* grpc_json_get_string_property(const grpc_json* json, bool grpc_copy_json_string_property(const grpc_json* json, const char* prop_name, char** copied_value); - - #endif /* GRPC_CORE_LIB_SECURITY_UTIL_JSON_UTIL_H */ diff --git a/src/core/lib/slice/b64.h b/src/core/lib/slice/b64.h index 09a8418fd5..f86c1d9901 100644 --- a/src/core/lib/slice/b64.h +++ b/src/core/lib/slice/b64.h @@ -21,8 +21,6 @@ #include - - /* Encodes data using base64. It is the caller's responsability to free the returned char * using gpr_free. Returns NULL on NULL input. TODO(makdharma) : change the flags to bool from int */ @@ -49,6 +47,4 @@ grpc_slice grpc_base64_decode(grpc_exec_ctx* exec_ctx, const char* b64, grpc_slice grpc_base64_decode_with_len(grpc_exec_ctx* exec_ctx, const char* b64, size_t b64_len, int url_safe); - - #endif /* GRPC_CORE_LIB_SLICE_B64_H */ diff --git a/src/core/lib/slice/percent_encoding.h b/src/core/lib/slice/percent_encoding.h index e7cd0cd2c9..a1009ff01f 100644 --- a/src/core/lib/slice/percent_encoding.h +++ b/src/core/lib/slice/percent_encoding.h @@ -30,8 +30,6 @@ #include - - /* URL percent encoding spec bitfield (usabel as 'unreserved_bytes' in grpc_percent_encode_slice, grpc_strict_percent_decode_slice). Flags [A-Za-z0-9-_.~] as unreserved bytes for the percent encoding routines @@ -62,6 +60,4 @@ bool grpc_strict_percent_decode_slice(grpc_slice slice_in, This cannot fail. */ grpc_slice grpc_permissive_percent_decode_slice(grpc_slice slice_in); - - #endif /* GRPC_CORE_LIB_SLICE_PERCENT_ENCODING_H */ diff --git a/src/core/lib/slice/slice_hash_table.h b/src/core/lib/slice/slice_hash_table.h index 99a3928eeb..85102bd67d 100644 --- a/src/core/lib/slice/slice_hash_table.h +++ b/src/core/lib/slice/slice_hash_table.h @@ -19,8 +19,6 @@ #include "src/core/lib/transport/metadata.h" - - /** Hash table implementation. * * This implementation uses open addressing @@ -69,6 +67,4 @@ void* grpc_slice_hash_table_get(const grpc_slice_hash_table* table, int grpc_slice_hash_table_cmp(const grpc_slice_hash_table* a, const grpc_slice_hash_table* b); - - #endif /* GRPC_CORE_LIB_SLICE_SLICE_HASH_TABLE_H */ diff --git a/src/core/lib/slice/slice_internal.h b/src/core/lib/slice/slice_internal.h index 01c0dee87f..556e6b84b2 100644 --- a/src/core/lib/slice/slice_internal.h +++ b/src/core/lib/slice/slice_internal.h @@ -24,8 +24,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" - - grpc_slice grpc_slice_ref_internal(grpc_slice slice); void grpc_slice_unref_internal(grpc_exec_ctx* exec_ctx, grpc_slice slice); void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx* exec_ctx, @@ -48,6 +46,4 @@ grpc_slice grpc_slice_maybe_static_intern(grpc_slice slice, uint32_t grpc_static_slice_hash(grpc_slice s); int grpc_static_slice_eq(grpc_slice a, grpc_slice b); - - #endif /* GRPC_CORE_LIB_SLICE_SLICE_INTERNAL_H */ diff --git a/src/core/lib/slice/slice_string_helpers.h b/src/core/lib/slice/slice_string_helpers.h index afbd90331e..7f51b11b9c 100644 --- a/src/core/lib/slice/slice_string_helpers.h +++ b/src/core/lib/slice/slice_string_helpers.h @@ -28,8 +28,6 @@ #include "src/core/lib/support/string.h" - - /* Calls gpr_dump on a slice. */ char* grpc_dump_slice(grpc_slice slice, uint32_t flags); @@ -39,6 +37,4 @@ void grpc_slice_split(grpc_slice str, const char* sep, grpc_slice_buffer* dst); bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t* result); - - #endif /* GRPC_CORE_LIB_SLICE_SLICE_STRING_HELPERS_H */ diff --git a/src/core/lib/slice/slice_traits.h b/src/core/lib/slice/slice_traits.h index 6e314a363b..4b898bdcd4 100644 --- a/src/core/lib/slice/slice_traits.h +++ b/src/core/lib/slice/slice_traits.h @@ -22,12 +22,8 @@ #include #include - - bool grpc_slice_is_legal_header(grpc_slice s); bool grpc_slice_is_legal_nonbin_header(grpc_slice s); bool grpc_slice_is_bin_suffixed(grpc_slice s); - - #endif /* GRPC_CORE_LIB_SLICE_SLICE_TRAITS_H */ diff --git a/src/core/lib/support/arena.h b/src/core/lib/support/arena.h index 9984c53fea..cfe973a036 100644 --- a/src/core/lib/support/arena.h +++ b/src/core/lib/support/arena.h @@ -27,8 +27,6 @@ #include - - typedef struct gpr_arena gpr_arena; // Create an arena, with \a initial_size bytes in the first allocated buffer @@ -38,6 +36,4 @@ void* gpr_arena_alloc(gpr_arena* arena, size_t size); // Destroy an arena, returning the total number of bytes allocated size_t gpr_arena_destroy(gpr_arena* arena); - - #endif /* GRPC_CORE_LIB_SUPPORT_ARENA_H */ diff --git a/src/core/lib/support/env.h b/src/core/lib/support/env.h index fe51b70835..2452fd330d 100644 --- a/src/core/lib/support/env.h +++ b/src/core/lib/support/env.h @@ -21,8 +21,6 @@ #include - - /* Env utility functions */ /* Gets the environment variable value with the specified name. @@ -40,6 +38,4 @@ void gpr_setenv(const char* name, const char* value); level of logging. So DO NOT USE THIS. */ const char* gpr_getenv_silent(const char* name, char** dst); - - #endif /* GRPC_CORE_LIB_SUPPORT_ENV_H */ diff --git a/src/core/lib/support/log_android.cc b/src/core/lib/support/log_android.cc index 648a016b50..0d3ac0fe52 100644 --- a/src/core/lib/support/log_android.cc +++ b/src/core/lib/support/log_android.cc @@ -40,7 +40,7 @@ static android_LogPriority severity_to_log_priority(gpr_log_severity severity) { } void gpr_log(const char* file, int line, gpr_log_severity severity, - const char* format, ...) { + const char* format, ...) { char* message = NULL; va_list args; va_start(args, format); diff --git a/src/core/lib/support/mpscq.h b/src/core/lib/support/mpscq.h index 743a62b325..648ead1f5b 100644 --- a/src/core/lib/support/mpscq.h +++ b/src/core/lib/support/mpscq.h @@ -24,8 +24,6 @@ #include #include - - // Multiple-producer single-consumer lock free queue, based upon the // implementation from Dmitry Vyukov here: // http://www.1024cores.net/home/lock-free-algorithms/queues/intrusive-mpsc-node-based-queue @@ -83,5 +81,4 @@ gpr_mpscq_node* gpr_locked_mpscq_try_pop(gpr_locked_mpscq* q); // calling this function gpr_mpscq_node* gpr_locked_mpscq_pop(gpr_locked_mpscq* q); - #endif /* GRPC_CORE_LIB_SUPPORT_MPSCQ_H */ diff --git a/src/core/lib/support/murmur_hash.h b/src/core/lib/support/murmur_hash.h index c28e58af27..422770f103 100644 --- a/src/core/lib/support/murmur_hash.h +++ b/src/core/lib/support/murmur_hash.h @@ -23,11 +23,7 @@ #include - - /* compute the hash of key (length len) */ uint32_t gpr_murmur_hash3(const void* key, size_t len, uint32_t seed); - - #endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */ diff --git a/src/core/lib/support/stack_lockfree.h b/src/core/lib/support/stack_lockfree.h index ebefc7560c..75baf4fa5d 100644 --- a/src/core/lib/support/stack_lockfree.h +++ b/src/core/lib/support/stack_lockfree.h @@ -21,8 +21,6 @@ #include - - typedef struct gpr_stack_lockfree gpr_stack_lockfree; /* This stack must specify the maximum number of entries to track. @@ -37,6 +35,4 @@ int gpr_stack_lockfree_push(gpr_stack_lockfree*, int entry); /* Returns -1 on empty or the actual entry number */ int gpr_stack_lockfree_pop(gpr_stack_lockfree* stack); - - #endif /* GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H */ diff --git a/src/core/lib/support/string.h b/src/core/lib/support/string.h index 8f95f899ce..dd37f0b0e1 100644 --- a/src/core/lib/support/string.h +++ b/src/core/lib/support/string.h @@ -24,8 +24,6 @@ #include - - /* String utility functions */ /* Flags for gpr_dump function. */ @@ -108,5 +106,4 @@ void* gpr_memrchr(const void* s, int c, size_t n); /** Return true if lower(s) equals "true", "yes" or "1", otherwise false. */ bool gpr_is_true(const char* s); - #endif /* GRPC_CORE_LIB_SUPPORT_STRING_H */ diff --git a/src/core/lib/support/string_windows.h b/src/core/lib/support/string_windows.h index 18932e20a7..7c7f31e7aa 100644 --- a/src/core/lib/support/string_windows.h +++ b/src/core/lib/support/string_windows.h @@ -21,8 +21,6 @@ #include - - #ifdef GPR_WINDOWS /* These allocate new strings using gpr_malloc to convert from and to utf-8. */ @@ -31,6 +29,4 @@ LPSTR gpr_tchar_to_char(LPCTSTR input); #endif /* GPR_WINDOWS */ - - #endif /* GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H */ diff --git a/src/core/lib/support/time_precise.h b/src/core/lib/support/time_precise.h index 650df6ce67..35cd154dbd 100644 --- a/src/core/lib/support/time_precise.h +++ b/src/core/lib/support/time_precise.h @@ -21,11 +21,7 @@ #include - - void gpr_precise_clock_init(void); void gpr_precise_clock_now(gpr_timespec* clk); - - #endif /* GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H */ diff --git a/src/core/lib/support/tmpfile.h b/src/core/lib/support/tmpfile.h index e28f4cb11f..c5ceda8675 100644 --- a/src/core/lib/support/tmpfile.h +++ b/src/core/lib/support/tmpfile.h @@ -21,14 +21,10 @@ #include - - /* Creates a temporary file from a prefix. If tmp_filename is not NULL, *tmp_filename is assigned the name of the created file and it is the responsibility of the caller to gpr_free it unless an error occurs in which case it will be set to NULL. */ FILE* gpr_tmpfile(const char* prefix, char** tmp_filename); - - #endif /* GRPC_CORE_LIB_SUPPORT_TMPFILE_H */ diff --git a/src/core/lib/surface/alarm_internal.h b/src/core/lib/surface/alarm_internal.h index e4b9f34408..7f2126c5c9 100644 --- a/src/core/lib/surface/alarm_internal.h +++ b/src/core/lib/surface/alarm_internal.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/debug/trace.h" - - #ifndef NDEBUG extern grpc_tracer_flag grpc_trace_alarm_refcount; @@ -39,6 +37,4 @@ extern grpc_tracer_flag grpc_trace_alarm_refcount; #endif /* defined(NDEBUG) */ - - #endif /* GRPC_CORE_LIB_SURFACE_ALARM_INTERNAL_H */ diff --git a/src/core/lib/surface/api_trace.h b/src/core/lib/surface/api_trace.h index a72d80eaae..849cbaaef6 100644 --- a/src/core/lib/surface/api_trace.h +++ b/src/core/lib/surface/api_trace.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/debug/trace.h" - - extern grpc_tracer_flag grpc_api_trace; /* Provide unwrapping macros because we're in C89 and variadic macros weren't @@ -49,6 +47,4 @@ extern grpc_tracer_flag grpc_api_trace; gpr_log(GPR_INFO, fmt GRPC_API_TRACE_UNWRAP##nargs args); \ } - - #endif /* GRPC_CORE_LIB_SURFACE_API_TRACE_H */ diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h index b30650781c..4408f90e7f 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_LIB_SURFACE_CALL_H #define GRPC_CORE_LIB_SURFACE_CALL_H - - #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/context.h" #include "src/core/lib/surface/api_trace.h" @@ -113,6 +111,4 @@ grpc_compression_algorithm grpc_call_compression_for_level( extern grpc_tracer_flag grpc_call_error_trace; extern grpc_tracer_flag grpc_compression_trace; - - #endif /* GRPC_CORE_LIB_SURFACE_CALL_H */ diff --git a/src/core/lib/surface/call_test_only.h b/src/core/lib/surface/call_test_only.h index c0815dc0f1..90444f85b6 100644 --- a/src/core/lib/surface/call_test_only.h +++ b/src/core/lib/surface/call_test_only.h @@ -21,8 +21,6 @@ #include - - /** Return the compression algorithm from \a call. * * \warning This function should \b only be used in test code. */ @@ -52,6 +50,4 @@ uint32_t grpc_call_test_only_get_stream_encodings_accepted_by_peer( grpc_stream_compression_algorithm grpc_call_test_only_get_incoming_stream_encodings(grpc_call* call); - - #endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */ diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index c2786b50a2..a2e53c777d 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -23,8 +23,6 @@ #include "src/core/lib/channel/channel_stack_builder.h" #include "src/core/lib/surface/channel_stack_type.h" - - grpc_channel* grpc_channel_create(grpc_exec_ctx* exec_ctx, const char* target, const grpc_channel_args* args, grpc_channel_stack_type channel_stack_type, @@ -83,6 +81,4 @@ void grpc_channel_internal_unref(grpc_exec_ctx* exec_ctx, grpc_compression_options grpc_channel_compression_options( const grpc_channel* channel); - - #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */ diff --git a/src/core/lib/surface/channel_init.h b/src/core/lib/surface/channel_init.h index e09fe1fdb8..556ecc4147 100644 --- a/src/core/lib/surface/channel_init.h +++ b/src/core/lib/surface/channel_init.h @@ -25,8 +25,6 @@ #define GRPC_CHANNEL_INIT_BUILTIN_PRIORITY 10000 - - /// This module provides a way for plugins (and the grpc core library itself) /// to register mutators for channel stacks. /// It also provides a universal entry path to run those mutators to build @@ -72,6 +70,4 @@ bool grpc_channel_init_create_stack(grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder, grpc_channel_stack_type type); - - #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H */ diff --git a/src/core/lib/surface/channel_stack_type.h b/src/core/lib/surface/channel_stack_type.h index 5a26248dfe..52f85a6406 100644 --- a/src/core/lib/surface/channel_stack_type.h +++ b/src/core/lib/surface/channel_stack_type.h @@ -21,8 +21,6 @@ #include - - typedef enum { // normal top-half client channel with load-balancing, connection management GRPC_CLIENT_CHANNEL, @@ -44,6 +42,4 @@ bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type); const char* grpc_channel_stack_type_string(grpc_channel_stack_type type); - - #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H */ diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h index f4fa9a17f4..ca9c0c8c3c 100644 --- a/src/core/lib/surface/completion_queue.h +++ b/src/core/lib/surface/completion_queue.h @@ -36,8 +36,6 @@ extern grpc_tracer_flag grpc_trace_pending_tags; extern grpc_tracer_flag grpc_trace_cq_refcount; #endif - - typedef struct grpc_cq_completion { gpr_mpscq_node node; @@ -96,6 +94,4 @@ int grpc_get_cq_poll_num(grpc_completion_queue* cc); grpc_completion_queue* grpc_completion_queue_create_internal( grpc_cq_completion_type completion_type, grpc_cq_polling_type polling_type); - - #endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H */ diff --git a/src/core/lib/surface/completion_queue_factory.h b/src/core/lib/surface/completion_queue_factory.h index 74c1c18b24..89be8f8216 100644 --- a/src/core/lib/surface/completion_queue_factory.h +++ b/src/core/lib/surface/completion_queue_factory.h @@ -22,8 +22,6 @@ #include #include "src/core/lib/surface/completion_queue.h" - - typedef struct grpc_completion_queue_factory_vtable { grpc_completion_queue* (*create)(const grpc_completion_queue_factory*, const grpc_completion_queue_attributes*); @@ -35,6 +33,4 @@ struct grpc_completion_queue_factory { grpc_completion_queue_factory_vtable* vtable; }; - - #endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_FACTORY_H */ diff --git a/src/core/lib/surface/event_string.h b/src/core/lib/surface/event_string.h index a763327862..cbf96da6c5 100644 --- a/src/core/lib/surface/event_string.h +++ b/src/core/lib/surface/event_string.h @@ -21,11 +21,7 @@ #include - - /* Returns a string describing an event. Must be later freed with gpr_free() */ char* grpc_event_string(grpc_event* ev); - - #endif /* GRPC_CORE_LIB_SURFACE_EVENT_STRING_H */ diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index c2969f972d..9353208332 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -19,13 +19,9 @@ #ifndef GRPC_CORE_LIB_SURFACE_INIT_H #define GRPC_CORE_LIB_SURFACE_INIT_H - - void grpc_register_security_filters(void); void grpc_security_pre_init(void); void grpc_security_init(void); int grpc_is_initialized(void); - - #endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ diff --git a/src/core/lib/surface/lame_client.h b/src/core/lib/surface/lame_client.h index 964e625f28..3ce353f101 100644 --- a/src/core/lib/surface/lame_client.h +++ b/src/core/lib/surface/lame_client.h @@ -21,10 +21,6 @@ #include "src/core/lib/channel/channel_stack.h" - - extern const grpc_channel_filter grpc_lame_filter; - - #endif /* GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H */ diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h index e515e3099d..35c32ee82b 100644 --- a/src/core/lib/surface/server.h +++ b/src/core/lib/surface/server.h @@ -24,8 +24,6 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/transport.h" - - extern const grpc_channel_filter grpc_server_top_filter; /** Lightweight tracing of server channel state */ @@ -56,6 +54,4 @@ int grpc_server_has_open_connections(grpc_server* server); void grpc_server_get_pollsets(grpc_server* server, grpc_pollset*** pollsets, size_t* pollset_count); - - #endif /* GRPC_CORE_LIB_SURFACE_SERVER_H */ diff --git a/src/core/lib/surface/validate_metadata.h b/src/core/lib/surface/validate_metadata.h index 30941b5f83..ff074b00b2 100644 --- a/src/core/lib/surface/validate_metadata.h +++ b/src/core/lib/surface/validate_metadata.h @@ -22,11 +22,7 @@ #include #include "src/core/lib/iomgr/error.h" - - grpc_error* grpc_validate_header_key_is_legal(grpc_slice slice); grpc_error* grpc_validate_header_nonbin_value_is_legal(grpc_slice slice); - - #endif /* GRPC_CORE_LIB_SURFACE_VALIDATE_METADATA_H */ diff --git a/src/core/lib/transport/byte_stream.h b/src/core/lib/transport/byte_stream.h index 8b660b3287..6bca154cb5 100644 --- a/src/core/lib/transport/byte_stream.h +++ b/src/core/lib/transport/byte_stream.h @@ -28,8 +28,6 @@ /** Mask of all valid internal flags. */ #define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS) - - typedef struct grpc_byte_stream grpc_byte_stream; typedef struct { @@ -137,6 +135,4 @@ void grpc_caching_byte_stream_init(grpc_caching_byte_stream* stream, // Resets the byte stream to the start of the underlying stream. void grpc_caching_byte_stream_reset(grpc_caching_byte_stream* stream); - - #endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */ diff --git a/src/core/lib/transport/connectivity_state.h b/src/core/lib/transport/connectivity_state.h index 2d8dd14881..79053366e4 100644 --- a/src/core/lib/transport/connectivity_state.h +++ b/src/core/lib/transport/connectivity_state.h @@ -23,8 +23,6 @@ #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/exec_ctx.h" - - typedef struct grpc_connectivity_state_watcher { /** we keep watchers in a linked list */ struct grpc_connectivity_state_watcher* next; @@ -86,6 +84,4 @@ bool grpc_connectivity_state_notify_on_state_change( grpc_exec_ctx* exec_ctx, grpc_connectivity_state_tracker* tracker, grpc_connectivity_state* current, grpc_closure* notify); - - #endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */ diff --git a/src/core/lib/transport/error_utils.h b/src/core/lib/transport/error_utils.h index 9cd1bc57d2..1c91976ba5 100644 --- a/src/core/lib/transport/error_utils.h +++ b/src/core/lib/transport/error_utils.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" - - /// A utility function to get the status code and message to be returned /// to the application. If not set in the top-level message, looks /// through child errors until it finds the first one with these attributes. @@ -42,6 +40,4 @@ void grpc_error_get_status(grpc_exec_ctx* exec_ctx, grpc_error* error, /// GRPC_ERROR_CANCELLED bool grpc_error_has_clear_grpc_status(grpc_error* error); - - #endif /* GRPC_CORE_LIB_TRANSPORT_ERROR_UTILS_H */ diff --git a/src/core/lib/transport/metadata.h b/src/core/lib/transport/metadata.h index 077b4ce0c5..4cf5752df8 100644 --- a/src/core/lib/transport/metadata.h +++ b/src/core/lib/transport/metadata.h @@ -29,8 +29,6 @@ extern grpc_tracer_flag grpc_trace_metadata; #endif - - /* This file provides a mechanism for tracking metadata through the grpc stack. It's not intended for consumption outside of the library. @@ -168,6 +166,4 @@ void grpc_mdelem_unref(grpc_exec_ctx* exec_ctx, grpc_mdelem md); void grpc_mdctx_global_init(void); void grpc_mdctx_global_shutdown(grpc_exec_ctx* exec_ctx); - - #endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_H */ diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index cae79bf694..adfb2d8069 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -28,8 +28,6 @@ #include "src/core/lib/transport/metadata.h" #include "src/core/lib/transport/static_metadata.h" - - typedef struct grpc_linked_mdelem { grpc_mdelem md; struct grpc_linked_mdelem* next; @@ -144,6 +142,4 @@ void grpc_metadata_batch_assert_ok(grpc_metadata_batch* comd); } while (0) #endif - - #endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_BATCH_H */ diff --git a/src/core/lib/transport/service_config.h b/src/core/lib/transport/service_config.h index 7abd278c19..75a290bfd8 100644 --- a/src/core/lib/transport/service_config.h +++ b/src/core/lib/transport/service_config.h @@ -22,8 +22,6 @@ #include "src/core/lib/json/json.h" #include "src/core/lib/slice/slice_hash_table.h" - - typedef struct grpc_service_config grpc_service_config; grpc_service_config* grpc_service_config_create(const char* json_string); @@ -62,6 +60,4 @@ void* grpc_method_config_table_get(grpc_exec_ctx* exec_ctx, const grpc_slice_hash_table* table, grpc_slice path); - - #endif /* GRPC_CORE_LIB_TRANSPORT_SERVICE_CONFIG_H */ diff --git a/src/core/lib/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h index d1a962461f..ce3a11b009 100644 --- a/src/core/lib/transport/static_metadata.h +++ b/src/core/lib/transport/static_metadata.h @@ -27,8 +27,6 @@ #ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H #define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H - - #include "src/core/lib/transport/metadata.h" #define GRPC_STATIC_MDSTR_COUNT 100 diff --git a/src/core/lib/transport/status_conversion.h b/src/core/lib/transport/status_conversion.h index 70387539c5..3637b82801 100644 --- a/src/core/lib/transport/status_conversion.h +++ b/src/core/lib/transport/status_conversion.h @@ -23,8 +23,6 @@ #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/http2_errors.h" - - /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */ grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status); grpc_status_code grpc_http2_error_to_grpc_status(grpc_exec_ctx* exec_ctx, @@ -35,6 +33,4 @@ grpc_status_code grpc_http2_error_to_grpc_status(grpc_exec_ctx* exec_ctx, grpc_status_code grpc_http2_status_to_grpc_status(int status); int grpc_status_to_http2_status(grpc_status_code status); - - #endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_CONVERSION_H */ diff --git a/src/core/lib/transport/timeout_encoding.h b/src/core/lib/transport/timeout_encoding.h index 4e5034ff15..8611f49b00 100644 --- a/src/core/lib/transport/timeout_encoding.h +++ b/src/core/lib/transport/timeout_encoding.h @@ -27,13 +27,9 @@ #define GRPC_HTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1) - - /* Encode/decode timeouts to the GRPC over HTTP/2 format; encoding may round up arbitrarily */ void grpc_http2_encode_timeout(grpc_millis timeout, char* buffer); int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout); - - #endif /* GRPC_CORE_LIB_TRANSPORT_TIMEOUT_ENCODING_H */ diff --git a/src/core/lib/transport/transport.h b/src/core/lib/transport/transport.h index 01f03121b6..5ab085f088 100644 --- a/src/core/lib/transport/transport.h +++ b/src/core/lib/transport/transport.h @@ -31,8 +31,6 @@ #include "src/core/lib/transport/byte_stream.h" #include "src/core/lib/transport/metadata_batch.h" - - /* forward declarations */ typedef struct grpc_transport grpc_transport; @@ -350,6 +348,4 @@ grpc_transport_op* grpc_make_transport_op(grpc_closure* on_consumed); grpc_transport_stream_op_batch* grpc_make_transport_stream_op( grpc_closure* on_consumed); - - #endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H */ diff --git a/src/core/lib/transport/transport_impl.h b/src/core/lib/transport/transport_impl.h index 5dedc25707..46be61427e 100644 --- a/src/core/lib/transport/transport_impl.h +++ b/src/core/lib/transport/transport_impl.h @@ -21,8 +21,6 @@ #include "src/core/lib/transport/transport.h" - - typedef struct grpc_transport_vtable { /* Memory required for a single stream element - this is allocated by upper layers and initialized by the transport */ @@ -71,6 +69,4 @@ struct grpc_transport { const grpc_transport_vtable* vtable; }; - - #endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */ diff --git a/src/core/tsi/fake_transport_security.h b/src/core/tsi/fake_transport_security.h index 2a6edba003..3848e7c6bf 100644 --- a/src/core/tsi/fake_transport_security.h +++ b/src/core/tsi/fake_transport_security.h @@ -21,8 +21,6 @@ #include "src/core/tsi/transport_security_interface.h" - - /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for FAKE certs. */ #define TSI_FAKE_CERTIFICATE_TYPE "FAKE" @@ -42,6 +40,4 @@ tsi_frame_protector* tsi_create_fake_frame_protector( tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector( size_t* max_protected_frame_size); - - #endif /* GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/gts_transport_security.h b/src/core/tsi/gts_transport_security.h index aca03b0d27..23b2b66fb3 100644 --- a/src/core/tsi/gts_transport_security.h +++ b/src/core/tsi/gts_transport_security.h @@ -23,8 +23,6 @@ #include #include - - typedef struct gts_shared_resource { gpr_thd_id thread_id; grpc_channel* channel; @@ -36,6 +34,4 @@ typedef struct gts_shared_resource { * TSI handshakes. */ gts_shared_resource* gts_get_shared_resource(void); - - #endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h index e6011f71a4..bf211e110a 100644 --- a/src/core/tsi/ssl_transport_security.h +++ b/src/core/tsi/ssl_transport_security.h @@ -21,8 +21,6 @@ #include "src/core/tsi/transport_security_interface.h" - - /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for X509 certs. */ #define TSI_X509_CERTIFICATE_TYPE "X509" @@ -191,6 +189,4 @@ const tsi_ssl_handshaker_factory_vtable* tsi_ssl_handshaker_factory_swap_vtable( tsi_ssl_handshaker_factory* factory, tsi_ssl_handshaker_factory_vtable* new_vtable); - - #endif /* GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/ssl_types.h b/src/core/tsi/ssl_types.h index 06e6b44da9..3788643355 100644 --- a/src/core/tsi/ssl_types.h +++ b/src/core/tsi/ssl_types.h @@ -19,8 +19,6 @@ #ifndef GRPC_CORE_TSI_SSL_TYPES_H #define GRPC_CORE_TSI_SSL_TYPES_H - - /* A collection of macros to cast between various integer types that are * used differently between BoringSSL and OpenSSL: * TSI_INT_AS_SIZE(x): convert 'int x' to a length parameter for an OpenSSL @@ -39,6 +37,4 @@ #define TSI_SIZE_AS_SIZE(x) ((int)(x)) #endif - - #endif /* GRPC_CORE_TSI_SSL_TYPES_H */ diff --git a/src/core/tsi/transport_security.h b/src/core/tsi/transport_security.h index 9292e03813..3adfb638b5 100644 --- a/src/core/tsi/transport_security.h +++ b/src/core/tsi/transport_security.h @@ -24,8 +24,6 @@ #include "src/core/lib/debug/trace.h" #include "src/core/tsi/transport_security_interface.h" - - extern grpc_tracer_flag tsi_tracing_enabled; /* Base for tsi_frame_protector implementations. @@ -124,6 +122,4 @@ tsi_result tsi_construct_string_peer_property_from_cstring( /* Utils. */ char* tsi_strdup(const char* src); /* Sadly, no strdup in C89. */ - - #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_H */ diff --git a/src/core/tsi/transport_security_adapter.h b/src/core/tsi/transport_security_adapter.h index d999af2821..9818fceb86 100644 --- a/src/core/tsi/transport_security_adapter.h +++ b/src/core/tsi/transport_security_adapter.h @@ -21,8 +21,6 @@ #include "src/core/tsi/transport_security_interface.h" - - /* Create a tsi handshaker that takes an implementation of old interface and converts into an implementation of new interface. In the old interface, there are get_bytes_to_send_to_peer, process_bytes_from_peer, get_result, @@ -38,6 +36,4 @@ tsi_handshaker* tsi_create_adapter_handshaker(tsi_handshaker* wrapped); the caller. */ tsi_handshaker* tsi_adapter_handshaker_get_wrapped(tsi_handshaker* adapter); - - #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_ADAPTER_H */ diff --git a/src/core/tsi/transport_security_grpc.h b/src/core/tsi/transport_security_grpc.h index 8ebee37b72..9fccfd79dd 100644 --- a/src/core/tsi/transport_security_grpc.h +++ b/src/core/tsi/transport_security_grpc.h @@ -22,8 +22,6 @@ #include #include "src/core/tsi/transport_security.h" - - /* This method creates a tsi_zero_copy_grpc_protector object. It return TSI_OK assuming there is no fatal error. The caller is responsible for destroying the protector. */ @@ -75,6 +73,4 @@ struct tsi_zero_copy_grpc_protector { const tsi_zero_copy_grpc_protector_vtable* vtable; }; - - #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_GRPC_H */ diff --git a/src/core/tsi/transport_security_interface.h b/src/core/tsi/transport_security_interface.h index fa1924bb62..92e2b1098e 100644 --- a/src/core/tsi/transport_security_interface.h +++ b/src/core/tsi/transport_security_interface.h @@ -24,8 +24,6 @@ #include "src/core/lib/debug/trace.h" - - /* --- tsi result --- */ typedef enum { @@ -451,6 +449,4 @@ void tsi_init(); /* This method destroys the shared objects created by tsi_init. */ void tsi_destroy(); - - #endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H */ diff --git a/test/core/end2end/cq_verifier.h b/test/core/end2end/cq_verifier.h index 90c93f11f1..959f849cb1 100644 --- a/test/core/end2end/cq_verifier.h +++ b/test/core/end2end/cq_verifier.h @@ -24,8 +24,6 @@ #include #include "test/core/util/test_config.h" - - /* A cq_verifier can verify that expected events arrive in a timely fashion on a single completion queue */ @@ -61,6 +59,4 @@ int contains_metadata(grpc_metadata_array* array, const char* key, int contains_metadata_slices(grpc_metadata_array* array, grpc_slice key, grpc_slice value); - - #endif /* GRPC_TEST_CORE_END2END_CQ_VERIFIER_H */ diff --git a/test/core/end2end/data/ssl_test_data.h b/test/core/end2end/data/ssl_test_data.h index 558e6cfe97..303f3a6eda 100644 --- a/test/core/end2end/data/ssl_test_data.h +++ b/test/core/end2end/data/ssl_test_data.h @@ -19,8 +19,6 @@ #ifndef GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H #define GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H - - extern const char test_root_cert[]; extern const char test_server1_cert[]; extern const char test_server1_key[]; @@ -29,6 +27,4 @@ extern const char test_self_signed_client_key[]; extern const char test_signed_client_cert[]; extern const char test_signed_client_key[]; - - #endif /* GRPC_TEST_CORE_END2END_DATA_SSL_TEST_DATA_H */ diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h index a56c955d1b..b42d90b55c 100644 --- a/test/core/end2end/end2end_tests.h +++ b/test/core/end2end/end2end_tests.h @@ -21,8 +21,6 @@ #include - - typedef struct grpc_end2end_test_fixture grpc_end2end_test_fixture; typedef struct grpc_end2end_test_config grpc_end2end_test_config; @@ -76,6 +74,4 @@ const grpc_slice* get_host_override_slice(const char* str, void validate_host_override_string(const char* pattern, grpc_slice str, grpc_end2end_test_config config); - - #endif /* GRPC_TEST_CORE_END2END_END2END_TESTS_H */ diff --git a/test/core/util/port.h b/test/core/util/port.h index bb4fd91fee..3a4cf4467a 100644 --- a/test/core/util/port.h +++ b/test/core/util/port.h @@ -19,8 +19,6 @@ #ifndef GRPC_TEST_CORE_UTIL_PORT_H #define GRPC_TEST_CORE_UTIL_PORT_H - - typedef struct grpc_pick_port_functions { int (*pick_unused_port_fn)(void); int (*pick_unused_port_or_die_fn)(void); @@ -43,6 +41,4 @@ void grpc_recycle_unused_port(int port); /** Request the family of pick_port functions in \a functions be used. */ void grpc_set_pick_port_functions(grpc_pick_port_functions functions); - - #endif /* GRPC_TEST_CORE_UTIL_PORT_H */ diff --git a/test/core/util/test_config.h b/test/core/util/test_config.h index adfec48662..775ffac949 100644 --- a/test/core/util/test_config.h +++ b/test/core/util/test_config.h @@ -21,8 +21,6 @@ #include - - extern int64_t g_fixture_slowdown_factor; extern int64_t g_poller_slowdown_factor; @@ -41,6 +39,4 @@ gpr_timespec grpc_timeout_milliseconds_to_deadline(int64_t time_ms); void grpc_test_init(int argc, char** argv); - - #endif /* GRPC_TEST_CORE_UTIL_TEST_CONFIG_H */ -- cgit v1.2.3 From 46f9175ba3a27958a1655707d6014de1ba3ce4d5 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Fri, 17 Nov 2017 16:27:56 -0800 Subject: Fix windows build --- src/core/lib/compression/stream_compression.cc | 3 +-- test/core/end2end/data/client_certs.cc | 8 ++++---- test/core/end2end/data/server1_cert.cc | 2 +- test/core/end2end/data/server1_key.cc | 2 +- test/core/end2end/data/test_root_cert.cc | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) (limited to 'test') diff --git a/src/core/lib/compression/stream_compression.cc b/src/core/lib/compression/stream_compression.cc index 1ccbe162b6..f989160d06 100644 --- a/src/core/lib/compression/stream_compression.cc +++ b/src/core/lib/compression/stream_compression.cc @@ -21,8 +21,7 @@ #include "src/core/lib/compression/stream_compression.h" #include "src/core/lib/compression/stream_compression_gzip.h" -extern "C" const grpc_stream_compression_vtable - grpc_stream_compression_identity_vtable; +const grpc_stream_compression_vtable grpc_stream_compression_identity_vtable; bool grpc_stream_compress(grpc_stream_compression_context* ctx, grpc_slice_buffer* in, grpc_slice_buffer* out, diff --git a/test/core/end2end/data/client_certs.cc b/test/core/end2end/data/client_certs.cc index 7e0b10da5c..78770674c4 100644 --- a/test/core/end2end/data/client_certs.cc +++ b/test/core/end2end/data/client_certs.cc @@ -16,7 +16,7 @@ * */ -extern "C" const char test_self_signed_client_cert[] = { +const char test_self_signed_client_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x6f, 0x44, 0x43, 0x43, @@ -100,7 +100,7 @@ extern "C" const char test_self_signed_client_cert[] = { 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -extern "C" const char test_self_signed_client_key[] = { +const char test_self_signed_client_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x64, 0x77, 0x49, 0x42, @@ -179,7 +179,7 @@ extern "C" const char test_self_signed_client_key[] = { 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -extern "C" const char test_signed_client_cert[] = { +const char test_signed_client_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x48, 0x7a, 0x43, 0x43, @@ -248,7 +248,7 @@ extern "C" const char test_signed_client_cert[] = { 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -extern "C" const char test_signed_client_key[] = { +const char test_signed_client_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x65, 0x51, 0x49, 0x42, diff --git a/test/core/end2end/data/server1_cert.cc b/test/core/end2end/data/server1_cert.cc index dd09810732..8d149607b6 100644 --- a/test/core/end2end/data/server1_cert.cc +++ b/test/core/end2end/data/server1_cert.cc @@ -16,7 +16,7 @@ * */ -extern "C" const char test_server1_cert[] = { +const char test_server1_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x6e, 0x44, 0x43, 0x43, diff --git a/test/core/end2end/data/server1_key.cc b/test/core/end2end/data/server1_key.cc index 59dcaf6334..eee5cc6d82 100644 --- a/test/core/end2end/data/server1_key.cc +++ b/test/core/end2end/data/server1_key.cc @@ -16,7 +16,7 @@ * */ -extern "C" const char test_server1_key[] = { +const char test_server1_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, diff --git a/test/core/end2end/data/test_root_cert.cc b/test/core/end2end/data/test_root_cert.cc index 36fca2e45f..ef39ca56ab 100644 --- a/test/core/end2end/data/test_root_cert.cc +++ b/test/core/end2end/data/test_root_cert.cc @@ -16,7 +16,7 @@ * */ -extern "C" const char test_root_cert[] = { +const char test_root_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x49, 0x7a, 0x43, 0x43, -- cgit v1.2.3 From 6dc1097c5e1599fdf3bb1102946413a14fa6f1ce Mon Sep 17 00:00:00 2001 From: ncteisen Date: Mon, 20 Nov 2017 12:41:13 -0500 Subject: Fix test cert build --- test/core/end2end/data/client_certs.cc | 2 ++ test/core/end2end/data/server1_cert.cc | 2 ++ test/core/end2end/data/server1_key.cc | 2 ++ test/core/end2end/data/test_root_cert.cc | 2 ++ test/core/end2end/fuzzers/api_fuzzer.cc | 2 +- test/core/transport/bdp_estimator_test.cc | 2 +- test/core/util/fuzzer_corpus_test.cc | 4 ++-- test/cpp/microbenchmarks/bm_fullstack_trickle.cc | 2 +- test/cpp/microbenchmarks/helpers.h | 8 ++++---- 9 files changed, 17 insertions(+), 9 deletions(-) (limited to 'test') diff --git a/test/core/end2end/data/client_certs.cc b/test/core/end2end/data/client_certs.cc index 78770674c4..6e61501234 100644 --- a/test/core/end2end/data/client_certs.cc +++ b/test/core/end2end/data/client_certs.cc @@ -16,6 +16,8 @@ * */ +#include "test/core/end2end/data/ssl_test_data.h" + const char test_self_signed_client_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, diff --git a/test/core/end2end/data/server1_cert.cc b/test/core/end2end/data/server1_cert.cc index 8d149607b6..5e017c4da7 100644 --- a/test/core/end2end/data/server1_cert.cc +++ b/test/core/end2end/data/server1_cert.cc @@ -16,6 +16,8 @@ * */ +#include "test/core/end2end/data/ssl_test_data.h" + const char test_server1_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, diff --git a/test/core/end2end/data/server1_key.cc b/test/core/end2end/data/server1_key.cc index eee5cc6d82..92a77aa21f 100644 --- a/test/core/end2end/data/server1_key.cc +++ b/test/core/end2end/data/server1_key.cc @@ -16,6 +16,8 @@ * */ +#include "test/core/end2end/data/ssl_test_data.h" + const char test_server1_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, diff --git a/test/core/end2end/data/test_root_cert.cc b/test/core/end2end/data/test_root_cert.cc index ef39ca56ab..81ca410e14 100644 --- a/test/core/end2end/data/test_root_cert.cc +++ b/test/core/end2end/data/test_root_cert.cc @@ -16,6 +16,8 @@ * */ +#include "test/core/end2end/data/ssl_test_data.h" + const char test_root_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc index 9fab1a9382..39e18dd121 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.cc +++ b/test/core/end2end/fuzzers/api_fuzzer.cc @@ -56,7 +56,7 @@ static grpc_server* g_server; static grpc_channel* g_channel; static grpc_resource_quota* g_resource_quota; -extern "C" gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); +extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); static gpr_timespec now_impl(gpr_clock_type clock_type) { GPR_ASSERT(clock_type != GPR_TIMESPAN); diff --git a/test/core/transport/bdp_estimator_test.cc b/test/core/transport/bdp_estimator_test.cc index 2a6fa95162..d1272607f2 100644 --- a/test/core/transport/bdp_estimator_test.cc +++ b/test/core/transport/bdp_estimator_test.cc @@ -29,7 +29,7 @@ #include "src/core/lib/support/string.h" #include "test/core/util/test_config.h" -extern "C" gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); +extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); namespace grpc_core { namespace testing { diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc index 4094fb8548..e2ed301c94 100644 --- a/test/core/util/fuzzer_corpus_test.cc +++ b/test/core/util/fuzzer_corpus_test.cc @@ -29,8 +29,8 @@ #include "test/core/util/test_config.h" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); -extern "C" bool squelch; -extern "C" bool leak_check; +extern bool squelch; +extern bool leak_check; // In some distros, gflags is in the namespace google, and in some others, // in gflags. This hack is enabling us to find both. diff --git a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc index bb974fad50..5e72213823 100644 --- a/test/cpp/microbenchmarks/bm_fullstack_trickle.cc +++ b/test/cpp/microbenchmarks/bm_fullstack_trickle.cc @@ -445,7 +445,7 @@ BENCHMARK(BM_PumpUnbalancedUnary_Trickle)->Apply(UnaryTrickleArgs); } // namespace testing } // namespace grpc -extern "C" gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); +extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type); int main(int argc, char** argv) { ::benchmark::Initialize(&argc, argv); diff --git a/test/cpp/microbenchmarks/helpers.h b/test/cpp/microbenchmarks/helpers.h index 07be589df6..afa3e0f3ca 100644 --- a/test/cpp/microbenchmarks/helpers.h +++ b/test/cpp/microbenchmarks/helpers.h @@ -54,10 +54,10 @@ class Library { }; #ifdef GPR_LOW_LEVEL_COUNTERS -extern "C" gpr_atm gpr_mu_locks; -extern "C" gpr_atm gpr_counter_atm_cas; -extern "C" gpr_atm gpr_counter_atm_add; -extern "C" gpr_atm gpr_now_call_count; +extern gpr_atm gpr_mu_locks; +extern gpr_atm gpr_counter_atm_cas; +extern gpr_atm gpr_counter_atm_add; +extern gpr_atm gpr_now_call_count; #endif class TrackCounters { -- cgit v1.2.3 From 70db663ae8773dc45464c904603a3e73045b45c5 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Mon, 27 Nov 2017 14:53:26 -0800 Subject: Add ReferenceCounted base class. --- BUILD | 17 ++++++ CMakeLists.txt | 42 +++++++++++++++ Makefile | 49 ++++++++++++++++++ build.yaml | 17 ++++++ config.m4 | 1 + config.w32 | 1 + gRPC-Core.podspec | 5 ++ grpc.gemspec | 3 ++ grpc.gyp | 1 + package.xml | 3 ++ src/core/lib/support/debug_location.h | 48 +++++++++++++++++ src/core/lib/support/reference_counted.cc | 58 +++++++++++++++++++++ src/core/lib/support/reference_counted.h | 55 ++++++++++++++++++++ src/python/grpcio/grpc_core_dependencies.py | 1 + test/core/support/BUILD | 13 +++++ test/core/support/reference_counted_test.cc | 60 ++++++++++++++++++++++ tools/doxygen/Doxyfile.c++.internal | 2 + tools/doxygen/Doxyfile.core.internal | 3 ++ tools/run_tests/generated/sources_and_headers.json | 24 +++++++++ tools/run_tests/generated/tests.json | 24 +++++++++ 20 files changed, 427 insertions(+) create mode 100644 src/core/lib/support/debug_location.h create mode 100644 src/core/lib/support/reference_counted.cc create mode 100644 src/core/lib/support/reference_counted.h create mode 100644 test/core/support/reference_counted_test.cc (limited to 'test') diff --git a/BUILD b/BUILD index 25daba8e1e..5289023ef5 100644 --- a/BUILD +++ b/BUILD @@ -537,6 +537,23 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "debug_location", + public_hdrs = ["src/core/lib/support/debug_location.h"], + language = "c++", +) + +grpc_cc_library( + name = "reference_counted", + srcs = ["src/core/lib/support/reference_counted.cc"], + public_hdrs = ["src/core/lib/support/reference_counted.h"], + language = "c++", + deps = [ + "grpc_trace", + "debug_location", + ], +) + grpc_cc_library( name = "grpc_base_c", srcs = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index 77b60e898a..ca59c84e50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -739,6 +739,7 @@ endif() add_dependencies(buildtests_cxx qps_worker) add_dependencies(buildtests_cxx reconnect_interop_client) add_dependencies(buildtests_cxx reconnect_interop_server) +add_dependencies(buildtests_cxx reference_counted_test) add_dependencies(buildtests_cxx secure_auth_context_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx secure_sync_unary_ping_pong_test) @@ -807,6 +808,7 @@ add_library(gpr src/core/lib/support/log_windows.cc src/core/lib/support/mpscq.cc src/core/lib/support/murmur_hash.cc + src/core/lib/support/reference_counted.cc src/core/lib/support/stack_lockfree.cc src/core/lib/support/string.cc src/core/lib/support/string_posix.cc @@ -12260,6 +12262,46 @@ target_link_libraries(reconnect_interop_server endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +add_executable(reference_counted_test + test/core/support/reference_counted_test.cc + third_party/googletest/googletest/src/gtest-all.cc + third_party/googletest/googlemock/src/gmock-all.cc +) + + +target_include_directories(reference_counted_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${BENCHMARK_ROOT_DIR}/include + PRIVATE ${ZLIB_ROOT_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib + PRIVATE ${CARES_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/abseil-cpp + PRIVATE third_party/googletest/googletest/include + PRIVATE third_party/googletest/googletest + PRIVATE third_party/googletest/googlemock/include + PRIVATE third_party/googletest/googlemock + PRIVATE ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(reference_counted_test + ${_gRPC_PROTOBUF_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc_test_util + grpc++ + grpc + gpr_test_util + gpr + ${_gRPC_GFLAGS_LIBRARIES} +) + +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) + add_executable(secure_auth_context_test test/cpp/common/secure_auth_context_test.cc third_party/googletest/googletest/src/gtest-all.cc diff --git a/Makefile b/Makefile index c85b1bca73..0e8437a05c 100644 --- a/Makefile +++ b/Makefile @@ -1165,6 +1165,7 @@ qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test qps_worker: $(BINDIR)/$(CONFIG)/qps_worker reconnect_interop_client: $(BINDIR)/$(CONFIG)/reconnect_interop_client reconnect_interop_server: $(BINDIR)/$(CONFIG)/reconnect_interop_server +reference_counted_test: $(BINDIR)/$(CONFIG)/reference_counted_test secure_auth_context_test: $(BINDIR)/$(CONFIG)/secure_auth_context_test secure_sync_unary_ping_pong_test: $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test server_builder_plugin_test: $(BINDIR)/$(CONFIG)/server_builder_plugin_test @@ -1601,6 +1602,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ + $(BINDIR)/$(CONFIG)/reference_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ $(BINDIR)/$(CONFIG)/server_builder_plugin_test \ @@ -1727,6 +1729,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ + $(BINDIR)/$(CONFIG)/reference_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ $(BINDIR)/$(CONFIG)/server_builder_plugin_test \ @@ -2130,6 +2133,8 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/proto_utils_test || ( echo test proto_utils_test failed ; exit 1 ) $(E) "[RUN] Testing qps_openloop_test" $(Q) $(BINDIR)/$(CONFIG)/qps_openloop_test || ( echo test qps_openloop_test failed ; exit 1 ) + $(E) "[RUN] Testing reference_counted_test" + $(Q) $(BINDIR)/$(CONFIG)/reference_counted_test || ( echo test reference_counted_test failed ; exit 1 ) $(E) "[RUN] Testing secure_auth_context_test" $(Q) $(BINDIR)/$(CONFIG)/secure_auth_context_test || ( echo test secure_auth_context_test failed ; exit 1 ) $(E) "[RUN] Testing secure_sync_unary_ping_pong_test" @@ -2836,6 +2841,7 @@ LIBGPR_SRC = \ src/core/lib/support/log_windows.cc \ src/core/lib/support/mpscq.cc \ src/core/lib/support/murmur_hash.cc \ + src/core/lib/support/reference_counted.cc \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/string.cc \ src/core/lib/support/string_posix.cc \ @@ -16495,6 +16501,49 @@ endif $(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +REFERENCE_COUNTED_TEST_SRC = \ + test/core/support/reference_counted_test.cc \ + +REFERENCE_COUNTED_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REFERENCE_COUNTED_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/reference_counted_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/reference_counted_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/reference_counted_test: $(PROTOBUF_DEP) $(REFERENCE_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(REFERENCE_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reference_counted_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/core/support/reference_counted_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_reference_counted_test: $(REFERENCE_COUNTED_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(REFERENCE_COUNTED_TEST_OBJS:.o=.dep) +endif +endif + + SECURE_AUTH_CONTEXT_TEST_SRC = \ test/cpp/common/secure_auth_context_test.cc \ diff --git a/build.yaml b/build.yaml index 4f6194ecc4..2903b866dc 100644 --- a/build.yaml +++ b/build.yaml @@ -49,6 +49,7 @@ filegroups: - src/core/lib/support/log_windows.cc - src/core/lib/support/mpscq.cc - src/core/lib/support/murmur_hash.cc + - src/core/lib/support/reference_counted.cc - src/core/lib/support/stack_lockfree.cc - src/core/lib/support/string.cc - src/core/lib/support/string_posix.cc @@ -109,11 +110,13 @@ filegroups: - src/core/lib/support/atomic.h - src/core/lib/support/atomic_with_atm.h - src/core/lib/support/atomic_with_std.h + - src/core/lib/support/debug_location.h - src/core/lib/support/env.h - src/core/lib/support/manual_constructor.h - src/core/lib/support/memory.h - src/core/lib/support/mpscq.h - src/core/lib/support/murmur_hash.h + - src/core/lib/support/reference_counted.h - src/core/lib/support/spinlock.h - src/core/lib/support/stack_lockfree.h - src/core/lib/support/string.h @@ -4541,6 +4544,20 @@ targets: - gpr_test_util - gpr - grpc++_test_config +- name: reference_counted_test + gtest: true + build: test + language: c++ + src: + - test/core/support/reference_counted_test.cc + deps: + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr + uses: + - grpc++_test - name: secure_auth_context_test gtest: true build: test diff --git a/config.m4 b/config.m4 index d2f2520fea..9d514c8552 100644 --- a/config.m4 +++ b/config.m4 @@ -62,6 +62,7 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/log_windows.cc \ src/core/lib/support/mpscq.cc \ src/core/lib/support/murmur_hash.cc \ + src/core/lib/support/reference_counted.cc \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/string.cc \ src/core/lib/support/string_posix.cc \ diff --git a/config.w32 b/config.w32 index 8a713751dc..2f24fcd8b0 100644 --- a/config.w32 +++ b/config.w32 @@ -39,6 +39,7 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\support\\log_windows.cc " + "src\\core\\lib\\support\\mpscq.cc " + "src\\core\\lib\\support\\murmur_hash.cc " + + "src\\core\\lib\\support\\reference_counted.cc " + "src\\core\\lib\\support\\stack_lockfree.cc " + "src\\core\\lib\\support\\string.cc " + "src\\core\\lib\\support\\string_posix.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 2f97565f1b..71e13633ae 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -192,11 +192,13 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', + 'src/core/lib/support/debug_location.h', 'src/core/lib/support/env.h', 'src/core/lib/support/manual_constructor.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', 'src/core/lib/support/murmur_hash.h', + 'src/core/lib/support/reference_counted.h', 'src/core/lib/support/spinlock.h', 'src/core/lib/support/stack_lockfree.h', 'src/core/lib/support/string.h', @@ -226,6 +228,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', @@ -712,11 +715,13 @@ Pod::Spec.new do |s| 'src/core/lib/support/atomic.h', 'src/core/lib/support/atomic_with_atm.h', 'src/core/lib/support/atomic_with_std.h', + 'src/core/lib/support/debug_location.h', 'src/core/lib/support/env.h', 'src/core/lib/support/manual_constructor.h', 'src/core/lib/support/memory.h', 'src/core/lib/support/mpscq.h', 'src/core/lib/support/murmur_hash.h', + 'src/core/lib/support/reference_counted.h', 'src/core/lib/support/spinlock.h', 'src/core/lib/support/stack_lockfree.h', 'src/core/lib/support/string.h', diff --git a/grpc.gemspec b/grpc.gemspec index 0dd7ceb350..900f4afe7a 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -89,11 +89,13 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/atomic.h ) s.files += %w( src/core/lib/support/atomic_with_atm.h ) s.files += %w( src/core/lib/support/atomic_with_std.h ) + s.files += %w( src/core/lib/support/debug_location.h ) s.files += %w( src/core/lib/support/env.h ) s.files += %w( src/core/lib/support/manual_constructor.h ) s.files += %w( src/core/lib/support/memory.h ) s.files += %w( src/core/lib/support/mpscq.h ) s.files += %w( src/core/lib/support/murmur_hash.h ) + s.files += %w( src/core/lib/support/reference_counted.h ) s.files += %w( src/core/lib/support/spinlock.h ) s.files += %w( src/core/lib/support/stack_lockfree.h ) s.files += %w( src/core/lib/support/string.h ) @@ -123,6 +125,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/log_windows.cc ) s.files += %w( src/core/lib/support/mpscq.cc ) s.files += %w( src/core/lib/support/murmur_hash.cc ) + s.files += %w( src/core/lib/support/reference_counted.cc ) s.files += %w( src/core/lib/support/stack_lockfree.cc ) s.files += %w( src/core/lib/support/string.cc ) s.files += %w( src/core/lib/support/string_posix.cc ) diff --git a/grpc.gyp b/grpc.gyp index fb153915ff..0ee6529013 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -184,6 +184,7 @@ 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', diff --git a/package.xml b/package.xml index 59d49dd165..c0d9b49828 100644 --- a/package.xml +++ b/package.xml @@ -101,11 +101,13 @@ + + @@ -135,6 +137,7 @@ + diff --git a/src/core/lib/support/debug_location.h b/src/core/lib/support/debug_location.h new file mode 100644 index 0000000000..9260752d5e --- /dev/null +++ b/src/core/lib/support/debug_location.h @@ -0,0 +1,48 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_CORE_LIB_SUPPORT_DEBUG_LOCATION_H +#define GRPC_CORE_LIB_SUPPORT_DEBUG_LOCATION_H + +namespace grpc_core { + +#ifndef NDEBUG +class DebugLocation { + public: + DebugLocation(const char* file, int line) : file_(file), line_(line) {} + bool Log() const { return true; } + const char* file() const { return file_; } + int line() const { return line_; } + private: + const char* file_; + const int line_; +}; +#define DEBUG_LOCATION DebugLocation(__FILE__, __LINE__) +#else +class DebugLocation { + public: + bool Log() const { return false; } + const char* file() const { return nullptr; } + int line() const { return -1; } +}; +#define DEBUG_LOCATION DebugLocation() +#endif + +} // namespace grpc_core + +#endif // GRPC_CORE_LIB_SUPPORT_DEBUG_LOCATION_H diff --git a/src/core/lib/support/reference_counted.cc b/src/core/lib/support/reference_counted.cc new file mode 100644 index 0000000000..853a29da2f --- /dev/null +++ b/src/core/lib/support/reference_counted.cc @@ -0,0 +1,58 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/support/reference_counted.h" + +#include + +namespace grpc_core { + +void ReferenceCounted::Ref(const DebugLocation& location, const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs + 1, reason); + } + Ref(); +} + +void ReferenceCounted::Ref() { + gpr_ref(&refs_); +} + +bool ReferenceCounted::Unref(const DebugLocation& location, + const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d unref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs - 1, reason); + } + return Unref(); +} + +bool ReferenceCounted::Unref() { + if (gpr_unref(&refs_)) { + delete this; + return true; + } + return false; +} + +} // namespace grpc_core diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h new file mode 100644 index 0000000000..ebd620c553 --- /dev/null +++ b/src/core/lib/support/reference_counted.h @@ -0,0 +1,55 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H +#define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H + +#include + +#include "src/core/lib/debug/trace.h" +#include "src/core/lib/support/debug_location.h" + +namespace grpc_core { + +class ReferenceCounted { + public: + void Ref(); + void Ref(const DebugLocation& location, const char* reason); + + bool Unref(); + bool Unref(const DebugLocation& location, const char* reason); + + // Not copyable nor movable. + ReferenceCounted(const ReferenceCounted&) = delete; + ReferenceCounted& operator=(const ReferenceCounted&) = delete; + + protected: + explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) { + gpr_ref_init(&refs_, 1); + } + + virtual ~ReferenceCounted() {} + + private: + TraceFlag* trace_flag_; + gpr_refcount refs_; +}; + +} // namespace grpc_core + +#endif // GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 330c4185c6..38f2a40133 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -38,6 +38,7 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', + 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', diff --git a/test/core/support/BUILD b/test/core/support/BUILD index 69512cd9a9..ee20ef8692 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -233,3 +233,16 @@ grpc_cc_test( "gtest", ], ) + +grpc_cc_test( + name = "reference_counted_test", + srcs = ["reference_counted_test.cc"], + language = "C++", + deps = [ + "//:reference_counted", + "//test/core/util:gpr_test_util", + ], + external_deps = [ + "gtest", + ], +) diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc new file mode 100644 index 0000000000..119fc1b600 --- /dev/null +++ b/test/core/support/reference_counted_test.cc @@ -0,0 +1,60 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/support/reference_counted.h" +#include +#include "test/core/util/test_config.h" + +namespace grpc_core { +namespace testing { + +class Foo : public ReferenceCounted { + public: + Foo() : ReferenceCounted(nullptr) {} +}; + +TEST(ReferenceCounted, StackAllocated) { + Foo foo; +} + +TEST(ReferenceCounted, StackAllocatedWithExtraRef) { + Foo foo; + foo.Ref(); + foo.Unref(); +} + +TEST(ReferenceCounted, HeapAllocated) { + Foo* foo = new Foo(); + foo->Unref(); +} + +TEST(ReferenceCounted, HeapAllocatedWithExtraRef) { + Foo* foo = new Foo(); + foo->Ref(); + foo->Unref(); + foo->Unref(); +} + +} // namespace testing +} // namespace grpc_core + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 3c564e203a..1d84dcba33 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1031,11 +1031,13 @@ src/core/lib/support/arena.h \ src/core/lib/support/atomic.h \ src/core/lib/support/atomic_with_atm.h \ src/core/lib/support/atomic_with_std.h \ +src/core/lib/support/debug_location.h \ src/core/lib/support/env.h \ src/core/lib/support/manual_constructor.h \ src/core/lib/support/memory.h \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.h \ +src/core/lib/support/reference_counted.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.h \ src/core/lib/support/string.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 5674124f44..5b289e7bc4 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1281,6 +1281,7 @@ src/core/lib/support/cpu_iphone.cc \ src/core/lib/support/cpu_linux.cc \ src/core/lib/support/cpu_posix.cc \ src/core/lib/support/cpu_windows.cc \ +src/core/lib/support/debug_location.h \ src/core/lib/support/env.h \ src/core/lib/support/env_linux.cc \ src/core/lib/support/env_posix.cc \ @@ -1298,6 +1299,8 @@ src/core/lib/support/mpscq.cc \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.cc \ src/core/lib/support/murmur_hash.h \ +src/core/lib/support/reference_counted.cc \ +src/core/lib/support/reference_counted.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/stack_lockfree.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 5a3429c81f..8ec9619874 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -3917,6 +3917,25 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "reference_counted_test", + "src": [ + "test/core/support/reference_counted_test.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -7770,6 +7789,7 @@ "src/core/lib/support/log_windows.cc", "src/core/lib/support/mpscq.cc", "src/core/lib/support/murmur_hash.cc", + "src/core/lib/support/reference_counted.cc", "src/core/lib/support/stack_lockfree.cc", "src/core/lib/support/string.cc", "src/core/lib/support/string_posix.cc", @@ -7834,11 +7854,13 @@ "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", + "src/core/lib/support/debug_location.h", "src/core/lib/support/env.h", "src/core/lib/support/manual_constructor.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", "src/core/lib/support/murmur_hash.h", + "src/core/lib/support/reference_counted.h", "src/core/lib/support/spinlock.h", "src/core/lib/support/stack_lockfree.h", "src/core/lib/support/string.h", @@ -7883,11 +7905,13 @@ "src/core/lib/support/atomic.h", "src/core/lib/support/atomic_with_atm.h", "src/core/lib/support/atomic_with_std.h", + "src/core/lib/support/debug_location.h", "src/core/lib/support/env.h", "src/core/lib/support/manual_constructor.h", "src/core/lib/support/memory.h", "src/core/lib/support/mpscq.h", "src/core/lib/support/murmur_hash.h", + "src/core/lib/support/reference_counted.h", "src/core/lib/support/spinlock.h", "src/core/lib/support/stack_lockfree.h", "src/core/lib/support/string.h", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index dfd7bfafe6..a6b58d8ba6 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -4123,6 +4123,30 @@ ], "uses_polling": true }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "reference_counted_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, { "args": [], "benchmark": false, -- cgit v1.2.3 From abadc6c5168f9429173751f1fb4ed225942d6f8c Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 08:24:10 -0800 Subject: Use New() and Delete() instead of C++ new and delete. --- src/core/lib/support/reference_counted.cc | 4 +++- src/core/lib/support/reference_counted.h | 4 ++++ test/core/support/reference_counted_test.cc | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/src/core/lib/support/reference_counted.cc b/src/core/lib/support/reference_counted.cc index 853a29da2f..84ede18efe 100644 --- a/src/core/lib/support/reference_counted.cc +++ b/src/core/lib/support/reference_counted.cc @@ -20,6 +20,8 @@ #include +#include "src/core/lib/support/memory.h" + namespace grpc_core { void ReferenceCounted::Ref(const DebugLocation& location, const char* reason) { @@ -49,7 +51,7 @@ bool ReferenceCounted::Unref(const DebugLocation& location, bool ReferenceCounted::Unref() { if (gpr_unref(&refs_)) { - delete this; + Delete(this); return true; } return false; diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h index ebd620c553..e71b4fc593 100644 --- a/src/core/lib/support/reference_counted.h +++ b/src/core/lib/support/reference_counted.h @@ -39,6 +39,10 @@ class ReferenceCounted { ReferenceCounted& operator=(const ReferenceCounted&) = delete; protected: + // Allow Delete() to access destructor. + template + friend void Delete(T*); + explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) { gpr_ref_init(&refs_, 1); } diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index 119fc1b600..6613f06585 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -17,7 +17,10 @@ */ #include "src/core/lib/support/reference_counted.h" + #include + +#include "src/core/lib/support/memory.h" #include "test/core/util/test_config.h" namespace grpc_core { @@ -39,12 +42,12 @@ TEST(ReferenceCounted, StackAllocatedWithExtraRef) { } TEST(ReferenceCounted, HeapAllocated) { - Foo* foo = new Foo(); + Foo* foo = New(); foo->Unref(); } TEST(ReferenceCounted, HeapAllocatedWithExtraRef) { - Foo* foo = new Foo(); + Foo* foo = New(); foo->Ref(); foo->Unref(); foo->Unref(); -- cgit v1.2.3 From cf9ca843eb3dec132195e8a8b21f33a7525d2197 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 08:24:35 -0800 Subject: Add ReferenceCountedPtr class. --- BUILD | 6 + CMakeLists.txt | 41 +++++++ Makefile | 48 ++++++++ build.yaml | 15 +++ gRPC-Core.podspec | 2 + grpc.gemspec | 1 + package.xml | 1 + src/core/lib/support/reference_counted_ptr.h | 81 +++++++++++++ test/core/support/BUILD | 14 +++ test/core/support/reference_counted_ptr_test.cc | 135 +++++++++++++++++++++ tools/doxygen/Doxyfile.c++.internal | 1 + tools/doxygen/Doxyfile.core.internal | 1 + tools/run_tests/generated/sources_and_headers.json | 21 ++++ tools/run_tests/generated/tests.json | 24 ++++ 14 files changed, 391 insertions(+) create mode 100644 src/core/lib/support/reference_counted_ptr.h create mode 100644 test/core/support/reference_counted_ptr_test.cc (limited to 'test') diff --git a/BUILD b/BUILD index 5289023ef5..9c93a5c099 100644 --- a/BUILD +++ b/BUILD @@ -554,6 +554,12 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "reference_counted_ptr", + public_hdrs = ["src/core/lib/support/reference_counted_ptr.h"], + language = "c++", +) + grpc_cc_library( name = "grpc_base_c", srcs = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index ca59c84e50..7e18465c92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -739,6 +739,7 @@ endif() add_dependencies(buildtests_cxx qps_worker) add_dependencies(buildtests_cxx reconnect_interop_client) add_dependencies(buildtests_cxx reconnect_interop_server) +add_dependencies(buildtests_cxx reference_counted_ptr_test) add_dependencies(buildtests_cxx reference_counted_test) add_dependencies(buildtests_cxx secure_auth_context_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) @@ -12262,6 +12263,46 @@ target_link_libraries(reconnect_interop_server endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +add_executable(reference_counted_ptr_test + test/core/support/reference_counted_ptr_test.cc + third_party/googletest/googletest/src/gtest-all.cc + third_party/googletest/googlemock/src/gmock-all.cc +) + + +target_include_directories(reference_counted_ptr_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${BENCHMARK_ROOT_DIR}/include + PRIVATE ${ZLIB_ROOT_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib + PRIVATE ${CARES_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/abseil-cpp + PRIVATE third_party/googletest/googletest/include + PRIVATE third_party/googletest/googletest + PRIVATE third_party/googletest/googlemock/include + PRIVATE third_party/googletest/googlemock + PRIVATE ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(reference_counted_ptr_test + ${_gRPC_PROTOBUF_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc_test_util + grpc++ + grpc + gpr_test_util + gpr + ${_gRPC_GFLAGS_LIBRARIES} +) + +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) + add_executable(reference_counted_test test/core/support/reference_counted_test.cc third_party/googletest/googletest/src/gtest-all.cc diff --git a/Makefile b/Makefile index 0e8437a05c..848182d1bd 100644 --- a/Makefile +++ b/Makefile @@ -1165,6 +1165,7 @@ qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test qps_worker: $(BINDIR)/$(CONFIG)/qps_worker reconnect_interop_client: $(BINDIR)/$(CONFIG)/reconnect_interop_client reconnect_interop_server: $(BINDIR)/$(CONFIG)/reconnect_interop_server +reference_counted_ptr_test: $(BINDIR)/$(CONFIG)/reference_counted_ptr_test reference_counted_test: $(BINDIR)/$(CONFIG)/reference_counted_test secure_auth_context_test: $(BINDIR)/$(CONFIG)/secure_auth_context_test secure_sync_unary_ping_pong_test: $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test @@ -1602,6 +1603,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ + $(BINDIR)/$(CONFIG)/reference_counted_ptr_test \ $(BINDIR)/$(CONFIG)/reference_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ @@ -1729,6 +1731,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ + $(BINDIR)/$(CONFIG)/reference_counted_ptr_test \ $(BINDIR)/$(CONFIG)/reference_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ @@ -2133,6 +2136,8 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/proto_utils_test || ( echo test proto_utils_test failed ; exit 1 ) $(E) "[RUN] Testing qps_openloop_test" $(Q) $(BINDIR)/$(CONFIG)/qps_openloop_test || ( echo test qps_openloop_test failed ; exit 1 ) + $(E) "[RUN] Testing reference_counted_ptr_test" + $(Q) $(BINDIR)/$(CONFIG)/reference_counted_ptr_test || ( echo test reference_counted_ptr_test failed ; exit 1 ) $(E) "[RUN] Testing reference_counted_test" $(Q) $(BINDIR)/$(CONFIG)/reference_counted_test || ( echo test reference_counted_test failed ; exit 1 ) $(E) "[RUN] Testing secure_auth_context_test" @@ -16501,6 +16506,49 @@ endif $(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +REFERENCE_COUNTED_PTR_TEST_SRC = \ + test/core/support/reference_counted_ptr_test.cc \ + +REFERENCE_COUNTED_PTR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REFERENCE_COUNTED_PTR_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: $(PROTOBUF_DEP) $(REFERENCE_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(REFERENCE_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reference_counted_ptr_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/core/support/reference_counted_ptr_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_reference_counted_ptr_test: $(REFERENCE_COUNTED_PTR_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(REFERENCE_COUNTED_PTR_TEST_OBJS:.o=.dep) +endif +endif + + REFERENCE_COUNTED_TEST_SRC = \ test/core/support/reference_counted_test.cc \ diff --git a/build.yaml b/build.yaml index 2903b866dc..9ac86eb430 100644 --- a/build.yaml +++ b/build.yaml @@ -117,6 +117,7 @@ filegroups: - src/core/lib/support/mpscq.h - src/core/lib/support/murmur_hash.h - src/core/lib/support/reference_counted.h + - src/core/lib/support/reference_counted_ptr.h - src/core/lib/support/spinlock.h - src/core/lib/support/stack_lockfree.h - src/core/lib/support/string.h @@ -4544,6 +4545,20 @@ targets: - gpr_test_util - gpr - grpc++_test_config +- name: reference_counted_ptr_test + gtest: true + build: test + language: c++ + src: + - test/core/support/reference_counted_ptr_test.cc + deps: + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr + uses: + - grpc++_test - name: reference_counted_test gtest: true build: test diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 71e13633ae..f623f26831 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -199,6 +199,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/mpscq.h', 'src/core/lib/support/murmur_hash.h', 'src/core/lib/support/reference_counted.h', + 'src/core/lib/support/reference_counted_ptr.h', 'src/core/lib/support/spinlock.h', 'src/core/lib/support/stack_lockfree.h', 'src/core/lib/support/string.h', @@ -722,6 +723,7 @@ Pod::Spec.new do |s| 'src/core/lib/support/mpscq.h', 'src/core/lib/support/murmur_hash.h', 'src/core/lib/support/reference_counted.h', + 'src/core/lib/support/reference_counted_ptr.h', 'src/core/lib/support/spinlock.h', 'src/core/lib/support/stack_lockfree.h', 'src/core/lib/support/string.h', diff --git a/grpc.gemspec b/grpc.gemspec index 900f4afe7a..da1b6c0aef 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -96,6 +96,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/mpscq.h ) s.files += %w( src/core/lib/support/murmur_hash.h ) s.files += %w( src/core/lib/support/reference_counted.h ) + s.files += %w( src/core/lib/support/reference_counted_ptr.h ) s.files += %w( src/core/lib/support/spinlock.h ) s.files += %w( src/core/lib/support/stack_lockfree.h ) s.files += %w( src/core/lib/support/string.h ) diff --git a/package.xml b/package.xml index c0d9b49828..92eab40b87 100644 --- a/package.xml +++ b/package.xml @@ -108,6 +108,7 @@ + diff --git a/src/core/lib/support/reference_counted_ptr.h b/src/core/lib/support/reference_counted_ptr.h new file mode 100644 index 0000000000..48a763ebe0 --- /dev/null +++ b/src/core/lib/support/reference_counted_ptr.h @@ -0,0 +1,81 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H +#define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H + +namespace grpc_core { + +// A smart pointer class for objects that provide Ref() and Unref() methods, +// such as those provided by the ReferenceCounted base class. +template +class ReferenceCountedPtr { + public: + ReferenceCountedPtr() {} + + // If value is non-null, we take ownership of a ref to it. + explicit ReferenceCountedPtr(T* value) { + value_ = value; + } + + // Move support. + ReferenceCountedPtr(ReferenceCountedPtr&& other) { + value_ = other.value_; + other.value_ = nullptr; + } + ReferenceCountedPtr& operator=(ReferenceCountedPtr&& other) { + if (value_ != nullptr) value_->Unref(); + value_ = other.value_; + other.value_ = nullptr; + return *this; + } + + // Copy support. + ReferenceCountedPtr(const ReferenceCountedPtr& other) { + if (other.value_ != nullptr) other.value_->Ref(); + value_ = other.value_; + } + ReferenceCountedPtr& operator=(const ReferenceCountedPtr& other) { + if (value_ != nullptr) value_->Unref(); + if (other.value_ != nullptr) other.value_->Ref(); + value_ = other.value_; + return *this; + } + + ~ReferenceCountedPtr() { + if (value_ != nullptr) value_->Unref(); + } + + // If value is non-null, we take ownership of a ref to it. + void reset(T* value = nullptr) { + if (value_ != nullptr) value_->Unref(); + value_ = value; + } + + T* get() const { return value_; } + + T& operator*() const { return *value_; } + T* operator->() const { return value_; } + + private: + T* value_ = nullptr; +}; + +} // namespace grpc_core + +#endif // GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H diff --git a/test/core/support/BUILD b/test/core/support/BUILD index ee20ef8692..1a8d2a1359 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -246,3 +246,17 @@ grpc_cc_test( "gtest", ], ) + +grpc_cc_test( + name = "reference_counted_ptr_test", + srcs = ["reference_counted_ptr_test.cc"], + language = "C++", + deps = [ + "//:reference_counted", + "//:reference_counted_ptr", + "//test/core/util:gpr_test_util", + ], + external_deps = [ + "gtest", + ], +) diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc new file mode 100644 index 0000000000..7347ef5e4b --- /dev/null +++ b/test/core/support/reference_counted_ptr_test.cc @@ -0,0 +1,135 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/support/reference_counted_ptr.h" + +#include + +#include + +#include "src/core/lib/support/memory.h" +#include "src/core/lib/support/reference_counted.h" +#include "test/core/util/test_config.h" + +namespace grpc_core { +namespace testing { + +class Foo : public ReferenceCounted { + public: + Foo() : ReferenceCounted(nullptr) {} + + void log() { + gpr_log(GPR_INFO, "==> log()"); + } +}; + +TEST(ReferenceCountedPtr, DefaultConstructor) { + ReferenceCountedPtr foo; +} + +TEST(ReferenceCountedPtr, ExplicitConstructorEmpty) { + ReferenceCountedPtr foo(nullptr); +} + +TEST(ReferenceCountedPtr, ExplicitConstructor) { + ReferenceCountedPtr foo(New()); +} + +TEST(ReferenceCountedPtr, MoveConstructor) { + ReferenceCountedPtr foo(New()); + ReferenceCountedPtr foo2(std::move(foo)); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); +} + +TEST(ReferenceCountedPtr, MoveAssignment) { + ReferenceCountedPtr foo(New()); + ReferenceCountedPtr foo2 = std::move(foo); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); +} + +TEST(ReferenceCountedPtr, CopyConstructor) { + ReferenceCountedPtr foo(New()); + ReferenceCountedPtr foo2(foo); + EXPECT_NE(nullptr, foo.get()); + EXPECT_EQ(foo.get(), foo2.get()); +} + +TEST(ReferenceCountedPtr, CopyAssignment) { + ReferenceCountedPtr foo(New()); + ReferenceCountedPtr foo2 = foo; + EXPECT_NE(nullptr, foo.get()); + EXPECT_EQ(foo.get(), foo2.get()); +} + +TEST(ReferenceCountedPtr, EnclosedScope) { + ReferenceCountedPtr foo(New()); + { + ReferenceCountedPtr foo2(std::move(foo)); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); + } + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(ReferenceCountedPtr, ResetFromNullToNonNull) { + ReferenceCountedPtr foo; + EXPECT_EQ(nullptr, foo.get()); + foo.reset(New()); + EXPECT_NE(nullptr, foo.get()); +} + +TEST(ReferenceCountedPtr, ResetFromNonNullToNonNull) { + ReferenceCountedPtr foo(New()); + EXPECT_NE(nullptr, foo.get()); + Foo* original = foo.get(); + foo.reset(New()); + EXPECT_NE(nullptr, foo.get()); + EXPECT_NE(original, foo.get()); +} + +TEST(ReferenceCountedPtr, ResetFromNonNullToNull) { + ReferenceCountedPtr foo(New()); + EXPECT_NE(nullptr, foo.get()); + foo.reset(); + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(ReferenceCountedPtr, ResetFromNullToNull) { + ReferenceCountedPtr foo; + EXPECT_EQ(nullptr, foo.get()); + foo.reset(nullptr); + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(ReferenceCountedPtr, DerefernceOperators) { + ReferenceCountedPtr foo(New()); + foo->log(); + Foo& foo_ref = *foo; + foo_ref.log(); +} + +} // namespace testing +} // namespace grpc_core + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 1d84dcba33..078dd7bb87 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1038,6 +1038,7 @@ src/core/lib/support/memory.h \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.h \ src/core/lib/support/reference_counted.h \ +src/core/lib/support/reference_counted_ptr.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.h \ src/core/lib/support/string.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 5b289e7bc4..37ffff6b79 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1301,6 +1301,7 @@ src/core/lib/support/murmur_hash.cc \ src/core/lib/support/murmur_hash.h \ src/core/lib/support/reference_counted.cc \ src/core/lib/support/reference_counted.h \ +src/core/lib/support/reference_counted_ptr.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/stack_lockfree.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 8ec9619874..ed5128d9c1 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -3917,6 +3917,25 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "reference_counted_ptr_test", + "src": [ + "test/core/support/reference_counted_ptr_test.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -7861,6 +7880,7 @@ "src/core/lib/support/mpscq.h", "src/core/lib/support/murmur_hash.h", "src/core/lib/support/reference_counted.h", + "src/core/lib/support/reference_counted_ptr.h", "src/core/lib/support/spinlock.h", "src/core/lib/support/stack_lockfree.h", "src/core/lib/support/string.h", @@ -7912,6 +7932,7 @@ "src/core/lib/support/mpscq.h", "src/core/lib/support/murmur_hash.h", "src/core/lib/support/reference_counted.h", + "src/core/lib/support/reference_counted_ptr.h", "src/core/lib/support/spinlock.h", "src/core/lib/support/stack_lockfree.h", "src/core/lib/support/string.h", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index a6b58d8ba6..ba70d56085 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -4123,6 +4123,30 @@ ], "uses_polling": true }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "reference_counted_ptr_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": true + }, { "args": [], "benchmark": false, -- cgit v1.2.3 From 835537fbc78f083e311dfec148d2b25d74af78e8 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 08:31:08 -0800 Subject: Implement MakeReferenceCounted<> helper. --- src/core/lib/support/reference_counted_ptr.h | 9 +++++++++ test/core/support/reference_counted_ptr_test.cc | 25 +++++++++++++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/src/core/lib/support/reference_counted_ptr.h b/src/core/lib/support/reference_counted_ptr.h index 48a763ebe0..71d5c36d52 100644 --- a/src/core/lib/support/reference_counted_ptr.h +++ b/src/core/lib/support/reference_counted_ptr.h @@ -19,6 +19,10 @@ #ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H #define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H +#include + +#include "src/core/lib/support/memory.h" + namespace grpc_core { // A smart pointer class for objects that provide Ref() and Unref() methods, @@ -76,6 +80,11 @@ class ReferenceCountedPtr { T* value_ = nullptr; }; +template +inline ReferenceCountedPtr MakeReferenceCounted(Args&&... args) { + return ReferenceCountedPtr(New(std::forward(args)...)); +} + } // namespace grpc_core #endif // GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc index 7347ef5e4b..f491622b69 100644 --- a/test/core/support/reference_counted_ptr_test.cc +++ b/test/core/support/reference_counted_ptr_test.cc @@ -31,11 +31,14 @@ namespace testing { class Foo : public ReferenceCounted { public: - Foo() : ReferenceCounted(nullptr) {} + Foo() : ReferenceCounted(nullptr), value_(0) {} - void log() { - gpr_log(GPR_INFO, "==> log()"); - } + explicit Foo(int value) : ReferenceCounted(nullptr), value_(value) {} + + int value() const { return value_; } + + private: + int value_; }; TEST(ReferenceCountedPtr, DefaultConstructor) { @@ -120,9 +123,19 @@ TEST(ReferenceCountedPtr, ResetFromNullToNull) { TEST(ReferenceCountedPtr, DerefernceOperators) { ReferenceCountedPtr foo(New()); - foo->log(); + foo->value(); Foo& foo_ref = *foo; - foo_ref.log(); + foo_ref.value(); +} + +TEST(MakeReferenceCounted, NoArgs) { + ReferenceCountedPtr foo = MakeReferenceCounted(); + EXPECT_EQ(0, foo->value()); +} + +TEST(MakeReferenceCounted, Args) { + ReferenceCountedPtr foo = MakeReferenceCounted(3); + EXPECT_EQ(3, foo->value()); } } // namespace testing -- cgit v1.2.3 From d3984c32c8e773a4d6caf6e3eb5536cbd7cddf17 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 09:13:27 -0800 Subject: clang-format --- src/core/lib/support/debug_location.h | 1 + src/core/lib/support/reference_counted.cc | 4 +--- src/core/lib/support/reference_counted.h | 2 +- src/core/lib/support/reference_counted_ptr.h | 8 +++----- test/core/support/reference_counted_ptr_test.cc | 4 +--- test/core/support/reference_counted_test.cc | 4 +--- 6 files changed, 8 insertions(+), 15 deletions(-) (limited to 'test') diff --git a/src/core/lib/support/debug_location.h b/src/core/lib/support/debug_location.h index 0095941ce3..47c5082874 100644 --- a/src/core/lib/support/debug_location.h +++ b/src/core/lib/support/debug_location.h @@ -28,6 +28,7 @@ class DebugLocation { bool Log() const { return true; } const char* file() const { return file_; } int line() const { return line_; } + private: const char* file_; const int line_; diff --git a/src/core/lib/support/reference_counted.cc b/src/core/lib/support/reference_counted.cc index 84ede18efe..222628a6fa 100644 --- a/src/core/lib/support/reference_counted.cc +++ b/src/core/lib/support/reference_counted.cc @@ -34,9 +34,7 @@ void ReferenceCounted::Ref(const DebugLocation& location, const char* reason) { Ref(); } -void ReferenceCounted::Ref() { - gpr_ref(&refs_); -} +void ReferenceCounted::Ref() { gpr_ref(&refs_); } bool ReferenceCounted::Unref(const DebugLocation& location, const char* reason) { diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h index 0076aa562c..42bedcbd3a 100644 --- a/src/core/lib/support/reference_counted.h +++ b/src/core/lib/support/reference_counted.h @@ -40,7 +40,7 @@ class ReferenceCounted { protected: // Allow Delete() to access destructor. - template + template friend void Delete(T*); explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) { diff --git a/src/core/lib/support/reference_counted_ptr.h b/src/core/lib/support/reference_counted_ptr.h index e4599a5965..3782380943 100644 --- a/src/core/lib/support/reference_counted_ptr.h +++ b/src/core/lib/support/reference_counted_ptr.h @@ -27,15 +27,13 @@ namespace grpc_core { // A smart pointer class for objects that provide Ref() and Unref() methods, // such as those provided by the ReferenceCounted base class. -template +template class ReferenceCountedPtr { public: ReferenceCountedPtr() {} // If value is non-null, we take ownership of a ref to it. - explicit ReferenceCountedPtr(T* value) { - value_ = value; - } + explicit ReferenceCountedPtr(T* value) { value_ = value; } // Move support. ReferenceCountedPtr(ReferenceCountedPtr&& other) { @@ -80,7 +78,7 @@ class ReferenceCountedPtr { T* value_ = nullptr; }; -template +template inline ReferenceCountedPtr MakeReferenceCounted(Args&&... args) { return ReferenceCountedPtr(New(std::forward(args)...)); } diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc index f491622b69..942c724724 100644 --- a/test/core/support/reference_counted_ptr_test.cc +++ b/test/core/support/reference_counted_ptr_test.cc @@ -41,9 +41,7 @@ class Foo : public ReferenceCounted { int value_; }; -TEST(ReferenceCountedPtr, DefaultConstructor) { - ReferenceCountedPtr foo; -} +TEST(ReferenceCountedPtr, DefaultConstructor) { ReferenceCountedPtr foo; } TEST(ReferenceCountedPtr, ExplicitConstructorEmpty) { ReferenceCountedPtr foo(nullptr); diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index 6613f06585..c5795429c4 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -31,9 +31,7 @@ class Foo : public ReferenceCounted { Foo() : ReferenceCounted(nullptr) {} }; -TEST(ReferenceCounted, StackAllocated) { - Foo foo; -} +TEST(ReferenceCounted, StackAllocated) { Foo foo; } TEST(ReferenceCounted, StackAllocatedWithExtraRef) { Foo foo; -- cgit v1.2.3 From 0c81dc40de575804b73ab739c6beb9815121d3b0 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Tue, 28 Nov 2017 11:41:12 -0800 Subject: Remove uneeded header, fix unused warn --- test/core/end2end/data/client_certs.cc | 10 ++++------ test/core/end2end/data/server1_cert.cc | 4 +--- test/core/end2end/data/server1_key.cc | 4 +--- test/core/end2end/data/test_root_cert.cc | 4 +--- 4 files changed, 7 insertions(+), 15 deletions(-) (limited to 'test') diff --git a/test/core/end2end/data/client_certs.cc b/test/core/end2end/data/client_certs.cc index 6e61501234..46fc13927c 100644 --- a/test/core/end2end/data/client_certs.cc +++ b/test/core/end2end/data/client_certs.cc @@ -16,9 +16,7 @@ * */ -#include "test/core/end2end/data/ssl_test_data.h" - -const char test_self_signed_client_cert[] = { +extern const char test_self_signed_client_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x6f, 0x44, 0x43, 0x43, @@ -102,7 +100,7 @@ const char test_self_signed_client_cert[] = { 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -const char test_self_signed_client_key[] = { +extern const char test_self_signed_client_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x64, 0x77, 0x49, 0x42, @@ -181,7 +179,7 @@ const char test_self_signed_client_key[] = { 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -const char test_signed_client_cert[] = { +extern const char test_signed_client_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x48, 0x7a, 0x43, 0x43, @@ -250,7 +248,7 @@ const char test_signed_client_cert[] = { 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; -const char test_signed_client_key[] = { +extern const char test_signed_client_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x65, 0x51, 0x49, 0x42, diff --git a/test/core/end2end/data/server1_cert.cc b/test/core/end2end/data/server1_cert.cc index 5e017c4da7..0943244ecc 100644 --- a/test/core/end2end/data/server1_cert.cc +++ b/test/core/end2end/data/server1_cert.cc @@ -16,9 +16,7 @@ * */ -#include "test/core/end2end/data/ssl_test_data.h" - -const char test_server1_cert[] = { +extern const char test_server1_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x6e, 0x44, 0x43, 0x43, diff --git a/test/core/end2end/data/server1_key.cc b/test/core/end2end/data/server1_key.cc index 92a77aa21f..8f3ad15c26 100644 --- a/test/core/end2end/data/server1_key.cc +++ b/test/core/end2end/data/server1_key.cc @@ -16,9 +16,7 @@ * */ -#include "test/core/end2end/data/ssl_test_data.h" - -const char test_server1_key[] = { +extern const char test_server1_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, diff --git a/test/core/end2end/data/test_root_cert.cc b/test/core/end2end/data/test_root_cert.cc index 81ca410e14..b4771b2cb8 100644 --- a/test/core/end2end/data/test_root_cert.cc +++ b/test/core/end2end/data/test_root_cert.cc @@ -16,9 +16,7 @@ * */ -#include "test/core/end2end/data/ssl_test_data.h" - -const char test_root_cert[] = { +extern const char test_root_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x49, 0x7a, 0x43, 0x43, -- cgit v1.2.3 From fe354eb8070ccf34e88ee9e0db3853a38e2fdbcf Mon Sep 17 00:00:00 2001 From: ncteisen Date: Tue, 28 Nov 2017 12:05:14 -0800 Subject: Fix the fuzzers --- test/core/client_channel/uri_fuzzer_test.cc | 2 +- test/core/end2end/fuzzers/api_fuzzer.cc | 2 +- test/core/end2end/fuzzers/client_fuzzer.cc | 2 +- test/core/end2end/fuzzers/server_fuzzer.cc | 2 +- test/core/http/request_fuzzer.cc | 2 +- test/core/http/response_fuzzer.cc | 2 +- test/core/json/fuzzer.cc | 2 +- test/core/nanopb/fuzzer_response.cc | 2 +- test/core/nanopb/fuzzer_serverlist.cc | 2 +- test/core/security/ssl_server_fuzzer.cc | 2 +- test/core/slice/percent_decode_fuzzer.cc | 2 +- test/core/slice/percent_encode_fuzzer.cc | 2 +- test/core/transport/chttp2/hpack_parser_fuzzer_test.cc | 2 +- test/core/util/fuzzer_corpus_test.cc | 2 +- test/core/util/one_corpus_entry_fuzzer.cc | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) (limited to 'test') diff --git a/test/core/client_channel/uri_fuzzer_test.cc b/test/core/client_channel/uri_fuzzer_test.cc index f76c41d437..ba31793ff3 100644 --- a/test/core/client_channel/uri_fuzzer_test.cc +++ b/test/core/client_channel/uri_fuzzer_test.cc @@ -28,7 +28,7 @@ bool squelch = true; bool leak_check = true; -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { char* s = static_cast(gpr_malloc(size + 1)); memcpy(s, data, size); s[size] = 0; diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc index 39e18dd121..0b49b89205 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.cc +++ b/test/core/end2end/fuzzers/api_fuzzer.cc @@ -740,7 +740,7 @@ static validator* make_finished_batch_validator(call_state* cs, return create_validator(finished_batch, bi); } -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); char* grpc_trace_fuzzer = gpr_getenv("GRPC_TRACE_FUZZER"); if (squelch && grpc_trace_fuzzer == nullptr) gpr_set_log_function(dont_log); diff --git a/test/core/end2end/fuzzers/client_fuzzer.cc b/test/core/end2end/fuzzers/client_fuzzer.cc index 89edaa5ec0..ebc8c2780d 100644 --- a/test/core/end2end/fuzzers/client_fuzzer.cc +++ b/test/core/end2end/fuzzers/client_fuzzer.cc @@ -37,7 +37,7 @@ static void* tag(int n) { return (void*)(uintptr_t)n; } static void dont_log(gpr_log_func_args* args) {} -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); diff --git a/test/core/end2end/fuzzers/server_fuzzer.cc b/test/core/end2end/fuzzers/server_fuzzer.cc index b0221294dd..fb6477b579 100644 --- a/test/core/end2end/fuzzers/server_fuzzer.cc +++ b/test/core/end2end/fuzzers/server_fuzzer.cc @@ -35,7 +35,7 @@ static int detag(void* p) { return (int)(uintptr_t)p; } static void dont_log(gpr_log_func_args* args) {} -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); diff --git a/test/core/http/request_fuzzer.cc b/test/core/http/request_fuzzer.cc index 73f366cd9a..368ac1b49d 100644 --- a/test/core/http/request_fuzzer.cc +++ b/test/core/http/request_fuzzer.cc @@ -27,7 +27,7 @@ bool squelch = true; bool leak_check = true; -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_request request; memset(&request, 0, sizeof(request)); diff --git a/test/core/http/response_fuzzer.cc b/test/core/http/response_fuzzer.cc index 6c1fea50ae..2a793fddd4 100644 --- a/test/core/http/response_fuzzer.cc +++ b/test/core/http/response_fuzzer.cc @@ -26,7 +26,7 @@ bool squelch = true; bool leak_check = true; -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_http_parser parser; grpc_http_response response; memset(&response, 0, sizeof(response)); diff --git a/test/core/json/fuzzer.cc b/test/core/json/fuzzer.cc index fd9172ffba..6dafabb95b 100644 --- a/test/core/json/fuzzer.cc +++ b/test/core/json/fuzzer.cc @@ -29,7 +29,7 @@ bool squelch = true; bool leak_check = true; -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { char* s; struct grpc_memory_counters counters; grpc_memory_counters_init(); diff --git a/test/core/nanopb/fuzzer_response.cc b/test/core/nanopb/fuzzer_response.cc index 42826c18f3..7039c801cb 100644 --- a/test/core/nanopb/fuzzer_response.cc +++ b/test/core/nanopb/fuzzer_response.cc @@ -28,7 +28,7 @@ bool leak_check = true; static void dont_log(gpr_log_func_args* args) {} -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (squelch) gpr_set_log_function(dont_log); grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); grpc_grpclb_initial_response* response; diff --git a/test/core/nanopb/fuzzer_serverlist.cc b/test/core/nanopb/fuzzer_serverlist.cc index 059e33d584..0a6b1767a1 100644 --- a/test/core/nanopb/fuzzer_serverlist.cc +++ b/test/core/nanopb/fuzzer_serverlist.cc @@ -28,7 +28,7 @@ bool leak_check = true; static void dont_log(gpr_log_func_args* args) {} -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (squelch) gpr_set_log_function(dont_log); grpc_slice slice = grpc_slice_from_copied_buffer((const char*)data, size); grpc_grpclb_serverlist* serverlist; diff --git a/test/core/security/ssl_server_fuzzer.cc b/test/core/security/ssl_server_fuzzer.cc index a2d0f14de0..bbb2f6013e 100644 --- a/test/core/security/ssl_server_fuzzer.cc +++ b/test/core/security/ssl_server_fuzzer.cc @@ -51,7 +51,7 @@ static void on_handshake_done(grpc_exec_ctx* exec_ctx, void* arg, GPR_ASSERT(error != GRPC_ERROR_NONE); } -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { struct grpc_memory_counters counters; if (squelch) gpr_set_log_function(dont_log); if (leak_check) grpc_memory_counters_init(); diff --git a/test/core/slice/percent_decode_fuzzer.cc b/test/core/slice/percent_decode_fuzzer.cc index e6458736d3..3603177c47 100644 --- a/test/core/slice/percent_decode_fuzzer.cc +++ b/test/core/slice/percent_decode_fuzzer.cc @@ -29,7 +29,7 @@ bool squelch = true; bool leak_check = true; -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { struct grpc_memory_counters counters; grpc_memory_counters_init(); grpc_slice input = grpc_slice_from_copied_buffer((const char*)data, size); diff --git a/test/core/slice/percent_encode_fuzzer.cc b/test/core/slice/percent_encode_fuzzer.cc index 776a998e51..c8e3849fc8 100644 --- a/test/core/slice/percent_encode_fuzzer.cc +++ b/test/core/slice/percent_encode_fuzzer.cc @@ -51,7 +51,7 @@ static void test(const uint8_t* data, size_t size, const uint8_t* dict) { GPR_ASSERT(counters.total_size_relative == 0); } -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { test(data, size, grpc_url_percent_encoding_unreserved_bytes); test(data, size, grpc_compatible_percent_encoding_unreserved_bytes); return 0; diff --git a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc index 01230eb675..942f25e0b7 100644 --- a/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc +++ b/test/core/transport/chttp2/hpack_parser_fuzzer_test.cc @@ -34,7 +34,7 @@ static void onhdr(grpc_exec_ctx* exec_ctx, void* ud, grpc_mdelem md) { } static void dont_log(gpr_log_func_args* args) {} -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { grpc_test_only_set_slice_hash_seed(0); if (squelch) gpr_set_log_function(dont_log); grpc_init(); diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc index e2ed301c94..7849321257 100644 --- a/test/core/util/fuzzer_corpus_test.cc +++ b/test/core/util/fuzzer_corpus_test.cc @@ -28,7 +28,7 @@ #include "src/core/lib/iomgr/load_file.h" #include "test/core/util/test_config.h" -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); extern bool squelch; extern bool leak_check; diff --git a/test/core/util/one_corpus_entry_fuzzer.cc b/test/core/util/one_corpus_entry_fuzzer.cc index a5512636f7..c0b67da1e2 100644 --- a/test/core/util/one_corpus_entry_fuzzer.cc +++ b/test/core/util/one_corpus_entry_fuzzer.cc @@ -21,7 +21,7 @@ #include #include "src/core/lib/iomgr/load_file.h" -int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); extern bool squelch; extern bool leak_check; -- cgit v1.2.3 From b319f491ff63a109917d69fc5020aa5c4eb184a7 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 14:50:07 -0800 Subject: Code review changes. --- BUILD | 1 - CMakeLists.txt | 1 - Makefile | 1 - build.yaml | 1 - config.m4 | 1 - config.w32 | 1 - gRPC-Core.podspec | 1 - grpc.gemspec | 1 - grpc.gyp | 1 - package.xml | 1 - src/core/lib/support/debug_location.h | 3 ++ src/core/lib/support/reference_counted.cc | 58 ---------------------- src/core/lib/support/reference_counted.h | 39 +++++++++++++-- src/core/lib/support/reference_counted_ptr.h | 4 +- src/python/grpcio/grpc_core_dependencies.py | 1 - test/core/support/reference_counted_ptr_test.cc | 13 +++++ test/core/support/reference_counted_test.cc | 2 +- tools/doxygen/Doxyfile.core.internal | 1 - tools/run_tests/generated/sources_and_headers.json | 1 - 19 files changed, 54 insertions(+), 78 deletions(-) delete mode 100644 src/core/lib/support/reference_counted.cc (limited to 'test') diff --git a/BUILD b/BUILD index 9c93a5c099..6ba5e6f655 100644 --- a/BUILD +++ b/BUILD @@ -545,7 +545,6 @@ grpc_cc_library( grpc_cc_library( name = "reference_counted", - srcs = ["src/core/lib/support/reference_counted.cc"], public_hdrs = ["src/core/lib/support/reference_counted.h"], language = "c++", deps = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e18465c92..7b214be435 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -809,7 +809,6 @@ add_library(gpr src/core/lib/support/log_windows.cc src/core/lib/support/mpscq.cc src/core/lib/support/murmur_hash.cc - src/core/lib/support/reference_counted.cc src/core/lib/support/stack_lockfree.cc src/core/lib/support/string.cc src/core/lib/support/string_posix.cc diff --git a/Makefile b/Makefile index 848182d1bd..a81e62b440 100644 --- a/Makefile +++ b/Makefile @@ -2846,7 +2846,6 @@ LIBGPR_SRC = \ src/core/lib/support/log_windows.cc \ src/core/lib/support/mpscq.cc \ src/core/lib/support/murmur_hash.cc \ - src/core/lib/support/reference_counted.cc \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/string.cc \ src/core/lib/support/string_posix.cc \ diff --git a/build.yaml b/build.yaml index 9ac86eb430..57a65b3707 100644 --- a/build.yaml +++ b/build.yaml @@ -49,7 +49,6 @@ filegroups: - src/core/lib/support/log_windows.cc - src/core/lib/support/mpscq.cc - src/core/lib/support/murmur_hash.cc - - src/core/lib/support/reference_counted.cc - src/core/lib/support/stack_lockfree.cc - src/core/lib/support/string.cc - src/core/lib/support/string_posix.cc diff --git a/config.m4 b/config.m4 index 9d514c8552..d2f2520fea 100644 --- a/config.m4 +++ b/config.m4 @@ -62,7 +62,6 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/log_windows.cc \ src/core/lib/support/mpscq.cc \ src/core/lib/support/murmur_hash.cc \ - src/core/lib/support/reference_counted.cc \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/string.cc \ src/core/lib/support/string_posix.cc \ diff --git a/config.w32 b/config.w32 index 2f24fcd8b0..8a713751dc 100644 --- a/config.w32 +++ b/config.w32 @@ -39,7 +39,6 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\support\\log_windows.cc " + "src\\core\\lib\\support\\mpscq.cc " + "src\\core\\lib\\support\\murmur_hash.cc " + - "src\\core\\lib\\support\\reference_counted.cc " + "src\\core\\lib\\support\\stack_lockfree.cc " + "src\\core\\lib\\support\\string.cc " + "src\\core\\lib\\support\\string_posix.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index f623f26831..bc500cc0d7 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -229,7 +229,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', - 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', diff --git a/grpc.gemspec b/grpc.gemspec index da1b6c0aef..d1e8b5254d 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -126,7 +126,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/log_windows.cc ) s.files += %w( src/core/lib/support/mpscq.cc ) s.files += %w( src/core/lib/support/murmur_hash.cc ) - s.files += %w( src/core/lib/support/reference_counted.cc ) s.files += %w( src/core/lib/support/stack_lockfree.cc ) s.files += %w( src/core/lib/support/string.cc ) s.files += %w( src/core/lib/support/string_posix.cc ) diff --git a/grpc.gyp b/grpc.gyp index 0ee6529013..fb153915ff 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -184,7 +184,6 @@ 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', - 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', diff --git a/package.xml b/package.xml index 92eab40b87..6f786a13ad 100644 --- a/package.xml +++ b/package.xml @@ -138,7 +138,6 @@ - diff --git a/src/core/lib/support/debug_location.h b/src/core/lib/support/debug_location.h index 47c5082874..0939da595d 100644 --- a/src/core/lib/support/debug_location.h +++ b/src/core/lib/support/debug_location.h @@ -21,6 +21,9 @@ namespace grpc_core { +// Used for tracking file and line where a call is made for debug builds. +// No-op for non-debug builds. +// Callers can use the DEBUG_LOCATION macro in either case. #ifndef NDEBUG class DebugLocation { public: diff --git a/src/core/lib/support/reference_counted.cc b/src/core/lib/support/reference_counted.cc deleted file mode 100644 index 222628a6fa..0000000000 --- a/src/core/lib/support/reference_counted.cc +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "src/core/lib/support/reference_counted.h" - -#include - -#include "src/core/lib/support/memory.h" - -namespace grpc_core { - -void ReferenceCounted::Ref(const DebugLocation& location, const char* reason) { - if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { - gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); - gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s", - trace_flag_->name(), this, location.file(), location.line(), - old_refs, old_refs + 1, reason); - } - Ref(); -} - -void ReferenceCounted::Ref() { gpr_ref(&refs_); } - -bool ReferenceCounted::Unref(const DebugLocation& location, - const char* reason) { - if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { - gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); - gpr_log(GPR_DEBUG, "%s:%p %s:%d unref %" PRIdPTR " -> %" PRIdPTR " %s", - trace_flag_->name(), this, location.file(), location.line(), - old_refs, old_refs - 1, reason); - } - return Unref(); -} - -bool ReferenceCounted::Unref() { - if (gpr_unref(&refs_)) { - Delete(this); - return true; - } - return false; -} - -} // namespace grpc_core diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h index 42bedcbd3a..ff74de082c 100644 --- a/src/core/lib/support/reference_counted.h +++ b/src/core/lib/support/reference_counted.h @@ -20,19 +20,46 @@ #define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H #include +#include #include "src/core/lib/debug/trace.h" #include "src/core/lib/support/debug_location.h" +#include "src/core/lib/support/memory.h" namespace grpc_core { +// A base class for reference-counted objects. +// New objects should be created via New() and start with a refcount of 1. +// When the refcount reaches 0, the object will be deleted via Delete(). class ReferenceCounted { public: - void Ref(); - void Ref(const DebugLocation& location, const char* reason); + void Ref() { gpr_ref(&refs_); } - bool Unref(); - bool Unref(const DebugLocation& location, const char* reason); + void Ref(const DebugLocation& location, const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs + 1, reason); + } + Ref(); + } + + void Unref() { + if (gpr_unref(&refs_)) { + Delete(this); + } + } + + void Unref(const DebugLocation& location, const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d unref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs - 1, reason); + } + Unref(); + } // Not copyable nor movable. ReferenceCounted(const ReferenceCounted&) = delete; @@ -43,6 +70,8 @@ class ReferenceCounted { template friend void Delete(T*); + ReferenceCounted() : ReferenceCounted(nullptr) {} + explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) { gpr_ref_init(&refs_, 1); } @@ -50,7 +79,7 @@ class ReferenceCounted { virtual ~ReferenceCounted() {} private: - TraceFlag* trace_flag_; + TraceFlag* trace_flag_ = nullptr; gpr_refcount refs_; }; diff --git a/src/core/lib/support/reference_counted_ptr.h b/src/core/lib/support/reference_counted_ptr.h index 3782380943..1590549bfb 100644 --- a/src/core/lib/support/reference_counted_ptr.h +++ b/src/core/lib/support/reference_counted_ptr.h @@ -53,8 +53,10 @@ class ReferenceCountedPtr { value_ = other.value_; } ReferenceCountedPtr& operator=(const ReferenceCountedPtr& other) { - if (value_ != nullptr) value_->Unref(); + // Note: Order of reffing and unreffing is important here in case value_ + // and other.value_ are the same object. if (other.value_ != nullptr) other.value_->Ref(); + if (value_ != nullptr) value_->Unref(); value_ = other.value_; return *this; } diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 38f2a40133..330c4185c6 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -38,7 +38,6 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/log_windows.cc', 'src/core/lib/support/mpscq.cc', 'src/core/lib/support/murmur_hash.cc', - 'src/core/lib/support/reference_counted.cc', 'src/core/lib/support/stack_lockfree.cc', 'src/core/lib/support/string.cc', 'src/core/lib/support/string_posix.cc', diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc index 942c724724..14dd620887 100644 --- a/test/core/support/reference_counted_ptr_test.cc +++ b/test/core/support/reference_counted_ptr_test.cc @@ -79,6 +79,19 @@ TEST(ReferenceCountedPtr, CopyAssignment) { EXPECT_EQ(foo.get(), foo2.get()); } +TEST(ReferenceCountedPtr, CopyAssignmentWhenEmpty) { + ReferenceCountedPtr foo; + ReferenceCountedPtr foo2; + foo2 = foo; + EXPECT_EQ(nullptr, foo.get()); + EXPECT_EQ(nullptr, foo2.get()); +} + +TEST(ReferenceCountedPtr, CopyAssignmentToSelf) { + ReferenceCountedPtr foo(New()); + foo = foo; +} + TEST(ReferenceCountedPtr, EnclosedScope) { ReferenceCountedPtr foo(New()); { diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index c5795429c4..b1f79e61e6 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -28,7 +28,7 @@ namespace testing { class Foo : public ReferenceCounted { public: - Foo() : ReferenceCounted(nullptr) {} + Foo() {} }; TEST(ReferenceCounted, StackAllocated) { Foo foo; } diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 37ffff6b79..8343f88a37 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1299,7 +1299,6 @@ src/core/lib/support/mpscq.cc \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.cc \ src/core/lib/support/murmur_hash.h \ -src/core/lib/support/reference_counted.cc \ src/core/lib/support/reference_counted.h \ src/core/lib/support/reference_counted_ptr.h \ src/core/lib/support/spinlock.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index ed5128d9c1..284a2098e3 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -7808,7 +7808,6 @@ "src/core/lib/support/log_windows.cc", "src/core/lib/support/mpscq.cc", "src/core/lib/support/murmur_hash.cc", - "src/core/lib/support/reference_counted.cc", "src/core/lib/support/stack_lockfree.cc", "src/core/lib/support/string.cc", "src/core/lib/support/string_posix.cc", -- cgit v1.2.3 From 18d332d8ba1eb1077653ade055363081210e03a1 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 15:01:58 -0800 Subject: Remove incorrect tests for stack allocation. --- test/core/support/reference_counted_test.cc | 8 -------- 1 file changed, 8 deletions(-) (limited to 'test') diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index b1f79e61e6..f6d2a2c309 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -31,14 +31,6 @@ class Foo : public ReferenceCounted { Foo() {} }; -TEST(ReferenceCounted, StackAllocated) { Foo foo; } - -TEST(ReferenceCounted, StackAllocatedWithExtraRef) { - Foo foo; - foo.Ref(); - foo.Unref(); -} - TEST(ReferenceCounted, HeapAllocated) { Foo* foo = New(); foo->Unref(); -- cgit v1.2.3 From 2e1912374057355de4f4e0ceaff02c89d45f43e5 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 28 Nov 2017 15:18:28 -0800 Subject: Add tests for tracing versions of Ref() and Unref(). --- test/core/support/reference_counted_test.cc | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index f6d2a2c309..778556d999 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -25,24 +25,43 @@ namespace grpc_core { namespace testing { +namespace { class Foo : public ReferenceCounted { public: Foo() {} }; -TEST(ReferenceCounted, HeapAllocated) { +TEST(ReferenceCounted, Basic) { Foo* foo = New(); foo->Unref(); } -TEST(ReferenceCounted, HeapAllocatedWithExtraRef) { +TEST(ReferenceCounted, ExtraRef) { Foo* foo = New(); foo->Ref(); foo->Unref(); foo->Unref(); } +TraceFlag foo_tracer(true, "foo"); + +class FooWithTracing : public ReferenceCounted { + public: + FooWithTracing() : ReferenceCounted(&foo_tracer) {} +}; + +TEST(ReferenceCounted, WithTracing) { + FooWithTracing* foo = New(); + foo->Ref(DEBUG_LOCATION, "extra_ref"); + foo->Unref(DEBUG_LOCATION, "extra_ref"); + // Can use the no-argument methods, too. + foo->Ref(); + foo->Unref(); + foo->Unref(DEBUG_LOCATION, "original_ref"); +} + +} // namespace } // namespace testing } // namespace grpc_core -- cgit v1.2.3 From 853fff8d085e60ca56dca834c962e840fe5ad50a Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Wed, 29 Nov 2017 07:37:41 -0800 Subject: Split tracing code into its own class. --- src/core/lib/support/reference_counted.h | 47 +++++++++++++++++++++---- test/core/support/reference_counted_ptr_test.cc | 19 ++++++++-- test/core/support/reference_counted_test.cc | 6 ++-- 3 files changed, 61 insertions(+), 11 deletions(-) (limited to 'test') diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h index ff74de082c..3858d61b72 100644 --- a/src/core/lib/support/reference_counted.h +++ b/src/core/lib/support/reference_counted.h @@ -19,8 +19,8 @@ #ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H #define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H -#include #include +#include #include "src/core/lib/debug/trace.h" #include "src/core/lib/support/debug_location.h" @@ -32,6 +32,39 @@ namespace grpc_core { // New objects should be created via New() and start with a refcount of 1. // When the refcount reaches 0, the object will be deleted via Delete(). class ReferenceCounted { + public: + void Ref() { gpr_ref(&refs_); } + + void Unref() { + if (gpr_unref(&refs_)) { + Delete(this); + } + } + + // Not copyable nor movable. + ReferenceCounted(const ReferenceCounted&) = delete; + ReferenceCounted& operator=(const ReferenceCounted&) = delete; + + protected: + // Allow Delete() to access destructor. + template + friend void Delete(T*); + + ReferenceCounted() { gpr_ref_init(&refs_, 1); } + + virtual ~ReferenceCounted() {} + + private: + gpr_refcount refs_; +}; + +// An alternative version of the ReferenceCounted base class that +// supports tracing. This is intended to be used in cases where the +// object will be handled both by idiomatic C++ code using smart +// pointers and legacy code that is manually calling Ref() and Unref(). +// Once all of our code is converted to idiomatic C++, we may be able to +// eliminate this class. +class ReferenceCountedWithTracing { public: void Ref() { gpr_ref(&refs_); } @@ -62,21 +95,23 @@ class ReferenceCounted { } // Not copyable nor movable. - ReferenceCounted(const ReferenceCounted&) = delete; - ReferenceCounted& operator=(const ReferenceCounted&) = delete; + ReferenceCountedWithTracing(const ReferenceCountedWithTracing&) = delete; + ReferenceCountedWithTracing& operator=(const ReferenceCountedWithTracing&) = + delete; protected: // Allow Delete() to access destructor. template friend void Delete(T*); - ReferenceCounted() : ReferenceCounted(nullptr) {} + ReferenceCountedWithTracing() : ReferenceCountedWithTracing(nullptr) {} - explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) { + explicit ReferenceCountedWithTracing(TraceFlag* trace_flag) + : trace_flag_(trace_flag) { gpr_ref_init(&refs_, 1); } - virtual ~ReferenceCounted() {} + virtual ~ReferenceCountedWithTracing() {} private: TraceFlag* trace_flag_ = nullptr; diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc index 14dd620887..45c552a1bc 100644 --- a/test/core/support/reference_counted_ptr_test.cc +++ b/test/core/support/reference_counted_ptr_test.cc @@ -28,12 +28,13 @@ namespace grpc_core { namespace testing { +namespace { class Foo : public ReferenceCounted { public: - Foo() : ReferenceCounted(nullptr), value_(0) {} + Foo() : value_(0) {} - explicit Foo(int value) : ReferenceCounted(nullptr), value_(value) {} + explicit Foo(int value) : value_(value) {} int value() const { return value_; } @@ -149,6 +150,20 @@ TEST(MakeReferenceCounted, Args) { EXPECT_EQ(3, foo->value()); } +TraceFlag foo_tracer(true, "foo"); + +class FooWithTracing : public ReferenceCountedWithTracing { + public: + FooWithTracing() : ReferenceCountedWithTracing(&foo_tracer) {} +}; + +TEST(ReferenceCountedPtr, ReferenceCountedWithTracing) { + ReferenceCountedPtr foo(New()); + foo->Ref(DEBUG_LOCATION, "foo"); + foo->Unref(DEBUG_LOCATION, "foo"); +} + +} // namespace } // namespace testing } // namespace grpc_core diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc index 778556d999..88ee5d8e55 100644 --- a/test/core/support/reference_counted_test.cc +++ b/test/core/support/reference_counted_test.cc @@ -46,12 +46,12 @@ TEST(ReferenceCounted, ExtraRef) { TraceFlag foo_tracer(true, "foo"); -class FooWithTracing : public ReferenceCounted { +class FooWithTracing : public ReferenceCountedWithTracing { public: - FooWithTracing() : ReferenceCounted(&foo_tracer) {} + FooWithTracing() : ReferenceCountedWithTracing(&foo_tracer) {} }; -TEST(ReferenceCounted, WithTracing) { +TEST(ReferenceCountedWithTracing, Basic) { FooWithTracing* foo = New(); foo->Ref(DEBUG_LOCATION, "extra_ref"); foo->Unref(DEBUG_LOCATION, "extra_ref"); -- cgit v1.2.3 From 65dbb9df6485bd0c48718c00b8e05e1a7ca18345 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 29 Nov 2017 10:06:30 -0800 Subject: Add test for RecvStatus error_string API --- test/core/end2end/tests/simple_request.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test') diff --git a/test/core/end2end/tests/simple_request.cc b/test/core/end2end/tests/simple_request.cc index ec7425aa09..86fe5d1e20 100644 --- a/test/core/end2end/tests/simple_request.cc +++ b/test/core/end2end/tests/simple_request.cc @@ -99,6 +99,7 @@ static void simple_request_body(grpc_end2end_test_config config, grpc_metadata_array request_metadata_recv; grpc_call_details call_details; grpc_status_code status; + const char* error_string; grpc_call_error error; grpc_slice details; int was_cancelled = 2; @@ -148,6 +149,7 @@ static void simple_request_body(grpc_end2end_test_config config, op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; op->data.recv_status_on_client.status = &status; op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.error_string = &error_string; op->flags = 0; op->reserved = nullptr; op++; @@ -199,6 +201,16 @@ static void simple_request_body(grpc_end2end_test_config config, GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED); GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz")); + // the following sanity check makes sure that the requested error string is + // correctly populated by the core. It looks for certain substrings that are + // not likely to change much. Some parts of the error, like time created, + // obviously are not checked. + GPR_ASSERT(nullptr != strstr(error_string, "xyz")); + GPR_ASSERT(nullptr != strstr(error_string, "description")); + GPR_ASSERT(nullptr != strstr(error_string, "Error received from peer")); + GPR_ASSERT(nullptr != strstr(error_string, "src/core/lib/surface/call.cc")); + GPR_ASSERT(nullptr != strstr(error_string, "grpc_message")); + GPR_ASSERT(nullptr != strstr(error_string, "grpc_status")); GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo")); validate_host_override_string("foo.test.google.fr:1234", call_details.host, config); @@ -206,6 +218,7 @@ static void simple_request_body(grpc_end2end_test_config config, GPR_ASSERT(was_cancelled == 1); grpc_slice_unref(details); + gpr_free((void*)error_string); grpc_metadata_array_destroy(&initial_metadata_recv); grpc_metadata_array_destroy(&trailing_metadata_recv); grpc_metadata_array_destroy(&request_metadata_recv); -- cgit v1.2.3 From bf816d325e4281804c3f75e63c2c1f7827176300 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Wed, 29 Nov 2017 11:25:34 -0800 Subject: Shorted "reference" to "ref". --- BUILD | 8 +- CMakeLists.txt | 20 +-- Makefile | 60 +++---- build.yaml | 12 +- gRPC-Core.podspec | 8 +- grpc.gemspec | 4 +- package.xml | 4 +- src/core/lib/support/ref_counted.h | 122 +++++++++++++++ src/core/lib/support/ref_counted_ptr.h | 90 +++++++++++ src/core/lib/support/reference_counted.h | 123 --------------- src/core/lib/support/reference_counted_ptr.h | 90 ----------- test/core/support/BUILD | 14 +- test/core/support/ref_counted_ptr_test.cc | 174 +++++++++++++++++++++ test/core/support/ref_counted_test.cc | 72 +++++++++ test/core/support/reference_counted_ptr_test.cc | 174 --------------------- test/core/support/reference_counted_test.cc | 72 --------- tools/doxygen/Doxyfile.c++.internal | 4 +- tools/doxygen/Doxyfile.core.internal | 4 +- tools/run_tests/generated/sources_and_headers.json | 16 +- tools/run_tests/generated/tests.json | 4 +- 20 files changed, 537 insertions(+), 538 deletions(-) create mode 100644 src/core/lib/support/ref_counted.h create mode 100644 src/core/lib/support/ref_counted_ptr.h delete mode 100644 src/core/lib/support/reference_counted.h delete mode 100644 src/core/lib/support/reference_counted_ptr.h create mode 100644 test/core/support/ref_counted_ptr_test.cc create mode 100644 test/core/support/ref_counted_test.cc delete mode 100644 test/core/support/reference_counted_ptr_test.cc delete mode 100644 test/core/support/reference_counted_test.cc (limited to 'test') diff --git a/BUILD b/BUILD index 6ba5e6f655..e88cdfedc5 100644 --- a/BUILD +++ b/BUILD @@ -544,8 +544,8 @@ grpc_cc_library( ) grpc_cc_library( - name = "reference_counted", - public_hdrs = ["src/core/lib/support/reference_counted.h"], + name = "ref_counted", + public_hdrs = ["src/core/lib/support/ref_counted.h"], language = "c++", deps = [ "grpc_trace", @@ -554,8 +554,8 @@ grpc_cc_library( ) grpc_cc_library( - name = "reference_counted_ptr", - public_hdrs = ["src/core/lib/support/reference_counted_ptr.h"], + name = "ref_counted_ptr", + public_hdrs = ["src/core/lib/support/ref_counted_ptr.h"], language = "c++", ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b214be435..f77b650a48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -739,8 +739,8 @@ endif() add_dependencies(buildtests_cxx qps_worker) add_dependencies(buildtests_cxx reconnect_interop_client) add_dependencies(buildtests_cxx reconnect_interop_server) -add_dependencies(buildtests_cxx reference_counted_ptr_test) -add_dependencies(buildtests_cxx reference_counted_test) +add_dependencies(buildtests_cxx ref_counted_ptr_test) +add_dependencies(buildtests_cxx ref_counted_test) add_dependencies(buildtests_cxx secure_auth_context_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx secure_sync_unary_ping_pong_test) @@ -12262,14 +12262,14 @@ target_link_libraries(reconnect_interop_server endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) -add_executable(reference_counted_ptr_test - test/core/support/reference_counted_ptr_test.cc +add_executable(ref_counted_ptr_test + test/core/support/ref_counted_ptr_test.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc ) -target_include_directories(reference_counted_ptr_test +target_include_directories(ref_counted_ptr_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -12288,7 +12288,7 @@ target_include_directories(reference_counted_ptr_test PRIVATE ${_gRPC_PROTO_GENS_DIR} ) -target_link_libraries(reference_counted_ptr_test +target_link_libraries(ref_counted_ptr_test ${_gRPC_PROTOBUF_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} grpc_test_util @@ -12302,14 +12302,14 @@ target_link_libraries(reference_counted_ptr_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) -add_executable(reference_counted_test - test/core/support/reference_counted_test.cc +add_executable(ref_counted_test + test/core/support/ref_counted_test.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc ) -target_include_directories(reference_counted_test +target_include_directories(ref_counted_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -12328,7 +12328,7 @@ target_include_directories(reference_counted_test PRIVATE ${_gRPC_PROTO_GENS_DIR} ) -target_link_libraries(reference_counted_test +target_link_libraries(ref_counted_test ${_gRPC_PROTOBUF_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} grpc_test_util diff --git a/Makefile b/Makefile index a81e62b440..ef6006c624 100644 --- a/Makefile +++ b/Makefile @@ -1165,8 +1165,8 @@ qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test qps_worker: $(BINDIR)/$(CONFIG)/qps_worker reconnect_interop_client: $(BINDIR)/$(CONFIG)/reconnect_interop_client reconnect_interop_server: $(BINDIR)/$(CONFIG)/reconnect_interop_server -reference_counted_ptr_test: $(BINDIR)/$(CONFIG)/reference_counted_ptr_test -reference_counted_test: $(BINDIR)/$(CONFIG)/reference_counted_test +ref_counted_ptr_test: $(BINDIR)/$(CONFIG)/ref_counted_ptr_test +ref_counted_test: $(BINDIR)/$(CONFIG)/ref_counted_test secure_auth_context_test: $(BINDIR)/$(CONFIG)/secure_auth_context_test secure_sync_unary_ping_pong_test: $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test server_builder_plugin_test: $(BINDIR)/$(CONFIG)/server_builder_plugin_test @@ -1603,8 +1603,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ - $(BINDIR)/$(CONFIG)/reference_counted_ptr_test \ - $(BINDIR)/$(CONFIG)/reference_counted_test \ + $(BINDIR)/$(CONFIG)/ref_counted_ptr_test \ + $(BINDIR)/$(CONFIG)/ref_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ $(BINDIR)/$(CONFIG)/server_builder_plugin_test \ @@ -1731,8 +1731,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ - $(BINDIR)/$(CONFIG)/reference_counted_ptr_test \ - $(BINDIR)/$(CONFIG)/reference_counted_test \ + $(BINDIR)/$(CONFIG)/ref_counted_ptr_test \ + $(BINDIR)/$(CONFIG)/ref_counted_test \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test \ $(BINDIR)/$(CONFIG)/server_builder_plugin_test \ @@ -2136,10 +2136,10 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/proto_utils_test || ( echo test proto_utils_test failed ; exit 1 ) $(E) "[RUN] Testing qps_openloop_test" $(Q) $(BINDIR)/$(CONFIG)/qps_openloop_test || ( echo test qps_openloop_test failed ; exit 1 ) - $(E) "[RUN] Testing reference_counted_ptr_test" - $(Q) $(BINDIR)/$(CONFIG)/reference_counted_ptr_test || ( echo test reference_counted_ptr_test failed ; exit 1 ) - $(E) "[RUN] Testing reference_counted_test" - $(Q) $(BINDIR)/$(CONFIG)/reference_counted_test || ( echo test reference_counted_test failed ; exit 1 ) + $(E) "[RUN] Testing ref_counted_ptr_test" + $(Q) $(BINDIR)/$(CONFIG)/ref_counted_ptr_test || ( echo test ref_counted_ptr_test failed ; exit 1 ) + $(E) "[RUN] Testing ref_counted_test" + $(Q) $(BINDIR)/$(CONFIG)/ref_counted_test || ( echo test ref_counted_test failed ; exit 1 ) $(E) "[RUN] Testing secure_auth_context_test" $(Q) $(BINDIR)/$(CONFIG)/secure_auth_context_test || ( echo test secure_auth_context_test failed ; exit 1 ) $(E) "[RUN] Testing secure_sync_unary_ping_pong_test" @@ -16505,15 +16505,15 @@ endif $(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -REFERENCE_COUNTED_PTR_TEST_SRC = \ - test/core/support/reference_counted_ptr_test.cc \ +REF_COUNTED_PTR_TEST_SRC = \ + test/core/support/ref_counted_ptr_test.cc \ -REFERENCE_COUNTED_PTR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REFERENCE_COUNTED_PTR_TEST_SRC)))) +REF_COUNTED_PTR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REF_COUNTED_PTR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/ref_counted_ptr_test: openssl_dep_error else @@ -16524,39 +16524,39 @@ ifeq ($(NO_PROTOBUF),true) # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: protobuf_dep_error +$(BINDIR)/$(CONFIG)/ref_counted_ptr_test: protobuf_dep_error else -$(BINDIR)/$(CONFIG)/reference_counted_ptr_test: $(PROTOBUF_DEP) $(REFERENCE_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/ref_counted_ptr_test: $(PROTOBUF_DEP) $(REF_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(REFERENCE_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reference_counted_ptr_test + $(Q) $(LDXX) $(LDFLAGS) $(REF_COUNTED_PTR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/ref_counted_ptr_test endif endif -$(OBJDIR)/$(CONFIG)/test/core/support/reference_counted_ptr_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/ref_counted_ptr_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_reference_counted_ptr_test: $(REFERENCE_COUNTED_PTR_TEST_OBJS:.o=.dep) +deps_ref_counted_ptr_test: $(REF_COUNTED_PTR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(REFERENCE_COUNTED_PTR_TEST_OBJS:.o=.dep) +-include $(REF_COUNTED_PTR_TEST_OBJS:.o=.dep) endif endif -REFERENCE_COUNTED_TEST_SRC = \ - test/core/support/reference_counted_test.cc \ +REF_COUNTED_TEST_SRC = \ + test/core/support/ref_counted_test.cc \ -REFERENCE_COUNTED_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REFERENCE_COUNTED_TEST_SRC)))) +REF_COUNTED_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(REF_COUNTED_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/reference_counted_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/ref_counted_test: openssl_dep_error else @@ -16567,26 +16567,26 @@ ifeq ($(NO_PROTOBUF),true) # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -$(BINDIR)/$(CONFIG)/reference_counted_test: protobuf_dep_error +$(BINDIR)/$(CONFIG)/ref_counted_test: protobuf_dep_error else -$(BINDIR)/$(CONFIG)/reference_counted_test: $(PROTOBUF_DEP) $(REFERENCE_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/ref_counted_test: $(PROTOBUF_DEP) $(REF_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(REFERENCE_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reference_counted_test + $(Q) $(LDXX) $(LDFLAGS) $(REF_COUNTED_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/ref_counted_test endif endif -$(OBJDIR)/$(CONFIG)/test/core/support/reference_counted_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/ref_counted_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_reference_counted_test: $(REFERENCE_COUNTED_TEST_OBJS:.o=.dep) +deps_ref_counted_test: $(REF_COUNTED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(REFERENCE_COUNTED_TEST_OBJS:.o=.dep) +-include $(REF_COUNTED_TEST_OBJS:.o=.dep) endif endif diff --git a/build.yaml b/build.yaml index c41bf193e6..bfb847e748 100644 --- a/build.yaml +++ b/build.yaml @@ -394,8 +394,8 @@ filegroups: - src/core/lib/slice/slice_internal.h - src/core/lib/slice/slice_string_helpers.h - src/core/lib/support/debug_location.h - - src/core/lib/support/reference_counted.h - - src/core/lib/support/reference_counted_ptr.h + - src/core/lib/support/ref_counted.h + - src/core/lib/support/ref_counted_ptr.h - src/core/lib/support/vector.h - src/core/lib/surface/alarm_internal.h - src/core/lib/surface/api_trace.h @@ -4544,12 +4544,12 @@ targets: - gpr_test_util - gpr - grpc++_test_config -- name: reference_counted_ptr_test +- name: ref_counted_ptr_test gtest: true build: test language: c++ src: - - test/core/support/reference_counted_ptr_test.cc + - test/core/support/ref_counted_ptr_test.cc deps: - grpc_test_util - grpc++ @@ -4558,12 +4558,12 @@ targets: - gpr uses: - grpc++_test -- name: reference_counted_test +- name: ref_counted_test gtest: true build: test language: c++ src: - - test/core/support/reference_counted_test.cc + - test/core/support/ref_counted_test.cc deps: - grpc_test_util - grpc++ diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index e90e356aaa..d6aa1fd6c0 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -414,8 +414,8 @@ Pod::Spec.new do |s| 'src/core/lib/slice/slice_internal.h', 'src/core/lib/slice/slice_string_helpers.h', 'src/core/lib/support/debug_location.h', - 'src/core/lib/support/reference_counted.h', - 'src/core/lib/support/reference_counted_ptr.h', + 'src/core/lib/support/ref_counted.h', + 'src/core/lib/support/ref_counted_ptr.h', 'src/core/lib/support/vector.h', 'src/core/lib/surface/alarm_internal.h', 'src/core/lib/surface/api_trace.h', @@ -892,8 +892,8 @@ Pod::Spec.new do |s| 'src/core/lib/slice/slice_internal.h', 'src/core/lib/slice/slice_string_helpers.h', 'src/core/lib/support/debug_location.h', - 'src/core/lib/support/reference_counted.h', - 'src/core/lib/support/reference_counted_ptr.h', + 'src/core/lib/support/ref_counted.h', + 'src/core/lib/support/ref_counted_ptr.h', 'src/core/lib/support/vector.h', 'src/core/lib/surface/alarm_internal.h', 'src/core/lib/surface/api_trace.h', diff --git a/grpc.gemspec b/grpc.gemspec index a58c73a59d..7c04356cc7 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -345,8 +345,8 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/slice/slice_internal.h ) s.files += %w( src/core/lib/slice/slice_string_helpers.h ) s.files += %w( src/core/lib/support/debug_location.h ) - s.files += %w( src/core/lib/support/reference_counted.h ) - s.files += %w( src/core/lib/support/reference_counted_ptr.h ) + s.files += %w( src/core/lib/support/ref_counted.h ) + s.files += %w( src/core/lib/support/ref_counted_ptr.h ) s.files += %w( src/core/lib/support/vector.h ) s.files += %w( src/core/lib/surface/alarm_internal.h ) s.files += %w( src/core/lib/surface/api_trace.h ) diff --git a/package.xml b/package.xml index 0036481bd1..68e37b6280 100644 --- a/package.xml +++ b/package.xml @@ -357,8 +357,8 @@ - - + + diff --git a/src/core/lib/support/ref_counted.h b/src/core/lib/support/ref_counted.h new file mode 100644 index 0000000000..4c662f9119 --- /dev/null +++ b/src/core/lib/support/ref_counted.h @@ -0,0 +1,122 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_CORE_LIB_SUPPORT_REF_COUNTED_H +#define GRPC_CORE_LIB_SUPPORT_REF_COUNTED_H + +#include +#include + +#include "src/core/lib/debug/trace.h" +#include "src/core/lib/support/debug_location.h" +#include "src/core/lib/support/memory.h" + +namespace grpc_core { + +// A base class for reference-counted objects. +// New objects should be created via New() and start with a refcount of 1. +// When the refcount reaches 0, the object will be deleted via Delete(). +class RefCounted { + public: + void Ref() { gpr_ref(&refs_); } + + void Unref() { + if (gpr_unref(&refs_)) { + Delete(this); + } + } + + // Not copyable nor movable. + RefCounted(const RefCounted&) = delete; + RefCounted& operator=(const RefCounted&) = delete; + + protected: + // Allow Delete() to access destructor. + template + friend void Delete(T*); + + RefCounted() { gpr_ref_init(&refs_, 1); } + + virtual ~RefCounted() {} + + private: + gpr_refcount refs_; +}; + +// An alternative version of the RefCounted base class that +// supports tracing. This is intended to be used in cases where the +// object will be handled both by idiomatic C++ code using smart +// pointers and legacy code that is manually calling Ref() and Unref(). +// Once all of our code is converted to idiomatic C++, we may be able to +// eliminate this class. +class RefCountedWithTracing { + public: + void Ref() { gpr_ref(&refs_); } + + void Ref(const DebugLocation& location, const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs + 1, reason); + } + Ref(); + } + + void Unref() { + if (gpr_unref(&refs_)) { + Delete(this); + } + } + + void Unref(const DebugLocation& location, const char* reason) { + if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { + gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); + gpr_log(GPR_DEBUG, "%s:%p %s:%d unref %" PRIdPTR " -> %" PRIdPTR " %s", + trace_flag_->name(), this, location.file(), location.line(), + old_refs, old_refs - 1, reason); + } + Unref(); + } + + // Not copyable nor movable. + RefCountedWithTracing(const RefCountedWithTracing&) = delete; + RefCountedWithTracing& operator=(const RefCountedWithTracing&) = delete; + + protected: + // Allow Delete() to access destructor. + template + friend void Delete(T*); + + RefCountedWithTracing() : RefCountedWithTracing(nullptr) {} + + explicit RefCountedWithTracing(TraceFlag* trace_flag) + : trace_flag_(trace_flag) { + gpr_ref_init(&refs_, 1); + } + + virtual ~RefCountedWithTracing() {} + + private: + TraceFlag* trace_flag_ = nullptr; + gpr_refcount refs_; +}; + +} // namespace grpc_core + +#endif /* GRPC_CORE_LIB_SUPPORT_REF_COUNTED_H */ diff --git a/src/core/lib/support/ref_counted_ptr.h b/src/core/lib/support/ref_counted_ptr.h new file mode 100644 index 0000000000..dc2385e369 --- /dev/null +++ b/src/core/lib/support/ref_counted_ptr.h @@ -0,0 +1,90 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_CORE_LIB_SUPPORT_REF_COUNTED_PTR_H +#define GRPC_CORE_LIB_SUPPORT_REF_COUNTED_PTR_H + +#include + +#include "src/core/lib/support/memory.h" + +namespace grpc_core { + +// A smart pointer class for objects that provide Ref() and Unref() methods, +// such as those provided by the RefCounted base class. +template +class RefCountedPtr { + public: + RefCountedPtr() {} + + // If value is non-null, we take ownership of a ref to it. + explicit RefCountedPtr(T* value) { value_ = value; } + + // Move support. + RefCountedPtr(RefCountedPtr&& other) { + value_ = other.value_; + other.value_ = nullptr; + } + RefCountedPtr& operator=(RefCountedPtr&& other) { + if (value_ != nullptr) value_->Unref(); + value_ = other.value_; + other.value_ = nullptr; + return *this; + } + + // Copy support. + RefCountedPtr(const RefCountedPtr& other) { + if (other.value_ != nullptr) other.value_->Ref(); + value_ = other.value_; + } + RefCountedPtr& operator=(const RefCountedPtr& other) { + // Note: Order of reffing and unreffing is important here in case value_ + // and other.value_ are the same object. + if (other.value_ != nullptr) other.value_->Ref(); + if (value_ != nullptr) value_->Unref(); + value_ = other.value_; + return *this; + } + + ~RefCountedPtr() { + if (value_ != nullptr) value_->Unref(); + } + + // If value is non-null, we take ownership of a ref to it. + void reset(T* value = nullptr) { + if (value_ != nullptr) value_->Unref(); + value_ = value; + } + + T* get() const { return value_; } + + T& operator*() const { return *value_; } + T* operator->() const { return value_; } + + private: + T* value_ = nullptr; +}; + +template +inline RefCountedPtr MakeRefCounted(Args&&... args) { + return RefCountedPtr(New(std::forward(args)...)); +} + +} // namespace grpc_core + +#endif /* GRPC_CORE_LIB_SUPPORT_REF_COUNTED_PTR_H */ diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h deleted file mode 100644 index 3858d61b72..0000000000 --- a/src/core/lib/support/reference_counted.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H -#define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H - -#include -#include - -#include "src/core/lib/debug/trace.h" -#include "src/core/lib/support/debug_location.h" -#include "src/core/lib/support/memory.h" - -namespace grpc_core { - -// A base class for reference-counted objects. -// New objects should be created via New() and start with a refcount of 1. -// When the refcount reaches 0, the object will be deleted via Delete(). -class ReferenceCounted { - public: - void Ref() { gpr_ref(&refs_); } - - void Unref() { - if (gpr_unref(&refs_)) { - Delete(this); - } - } - - // Not copyable nor movable. - ReferenceCounted(const ReferenceCounted&) = delete; - ReferenceCounted& operator=(const ReferenceCounted&) = delete; - - protected: - // Allow Delete() to access destructor. - template - friend void Delete(T*); - - ReferenceCounted() { gpr_ref_init(&refs_, 1); } - - virtual ~ReferenceCounted() {} - - private: - gpr_refcount refs_; -}; - -// An alternative version of the ReferenceCounted base class that -// supports tracing. This is intended to be used in cases where the -// object will be handled both by idiomatic C++ code using smart -// pointers and legacy code that is manually calling Ref() and Unref(). -// Once all of our code is converted to idiomatic C++, we may be able to -// eliminate this class. -class ReferenceCountedWithTracing { - public: - void Ref() { gpr_ref(&refs_); } - - void Ref(const DebugLocation& location, const char* reason) { - if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { - gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); - gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s", - trace_flag_->name(), this, location.file(), location.line(), - old_refs, old_refs + 1, reason); - } - Ref(); - } - - void Unref() { - if (gpr_unref(&refs_)) { - Delete(this); - } - } - - void Unref(const DebugLocation& location, const char* reason) { - if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) { - gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count); - gpr_log(GPR_DEBUG, "%s:%p %s:%d unref %" PRIdPTR " -> %" PRIdPTR " %s", - trace_flag_->name(), this, location.file(), location.line(), - old_refs, old_refs - 1, reason); - } - Unref(); - } - - // Not copyable nor movable. - ReferenceCountedWithTracing(const ReferenceCountedWithTracing&) = delete; - ReferenceCountedWithTracing& operator=(const ReferenceCountedWithTracing&) = - delete; - - protected: - // Allow Delete() to access destructor. - template - friend void Delete(T*); - - ReferenceCountedWithTracing() : ReferenceCountedWithTracing(nullptr) {} - - explicit ReferenceCountedWithTracing(TraceFlag* trace_flag) - : trace_flag_(trace_flag) { - gpr_ref_init(&refs_, 1); - } - - virtual ~ReferenceCountedWithTracing() {} - - private: - TraceFlag* trace_flag_ = nullptr; - gpr_refcount refs_; -}; - -} // namespace grpc_core - -#endif /* GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_H */ diff --git a/src/core/lib/support/reference_counted_ptr.h b/src/core/lib/support/reference_counted_ptr.h deleted file mode 100644 index 1590549bfb..0000000000 --- a/src/core/lib/support/reference_counted_ptr.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H -#define GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H - -#include - -#include "src/core/lib/support/memory.h" - -namespace grpc_core { - -// A smart pointer class for objects that provide Ref() and Unref() methods, -// such as those provided by the ReferenceCounted base class. -template -class ReferenceCountedPtr { - public: - ReferenceCountedPtr() {} - - // If value is non-null, we take ownership of a ref to it. - explicit ReferenceCountedPtr(T* value) { value_ = value; } - - // Move support. - ReferenceCountedPtr(ReferenceCountedPtr&& other) { - value_ = other.value_; - other.value_ = nullptr; - } - ReferenceCountedPtr& operator=(ReferenceCountedPtr&& other) { - if (value_ != nullptr) value_->Unref(); - value_ = other.value_; - other.value_ = nullptr; - return *this; - } - - // Copy support. - ReferenceCountedPtr(const ReferenceCountedPtr& other) { - if (other.value_ != nullptr) other.value_->Ref(); - value_ = other.value_; - } - ReferenceCountedPtr& operator=(const ReferenceCountedPtr& other) { - // Note: Order of reffing and unreffing is important here in case value_ - // and other.value_ are the same object. - if (other.value_ != nullptr) other.value_->Ref(); - if (value_ != nullptr) value_->Unref(); - value_ = other.value_; - return *this; - } - - ~ReferenceCountedPtr() { - if (value_ != nullptr) value_->Unref(); - } - - // If value is non-null, we take ownership of a ref to it. - void reset(T* value = nullptr) { - if (value_ != nullptr) value_->Unref(); - value_ = value; - } - - T* get() const { return value_; } - - T& operator*() const { return *value_; } - T* operator->() const { return value_; } - - private: - T* value_ = nullptr; -}; - -template -inline ReferenceCountedPtr MakeReferenceCounted(Args&&... args) { - return ReferenceCountedPtr(New(std::forward(args)...)); -} - -} // namespace grpc_core - -#endif /* GRPC_CORE_LIB_SUPPORT_REFERENCE_COUNTED_PTR_H */ diff --git a/test/core/support/BUILD b/test/core/support/BUILD index 1a8d2a1359..0e5a31c7d2 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -235,11 +235,11 @@ grpc_cc_test( ) grpc_cc_test( - name = "reference_counted_test", - srcs = ["reference_counted_test.cc"], + name = "ref_counted_test", + srcs = ["ref_counted_test.cc"], language = "C++", deps = [ - "//:reference_counted", + "//:ref_counted", "//test/core/util:gpr_test_util", ], external_deps = [ @@ -248,12 +248,12 @@ grpc_cc_test( ) grpc_cc_test( - name = "reference_counted_ptr_test", - srcs = ["reference_counted_ptr_test.cc"], + name = "ref_counted_ptr_test", + srcs = ["ref_counted_ptr_test.cc"], language = "C++", deps = [ - "//:reference_counted", - "//:reference_counted_ptr", + "//:ref_counted", + "//:ref_counted_ptr", "//test/core/util:gpr_test_util", ], external_deps = [ diff --git a/test/core/support/ref_counted_ptr_test.cc b/test/core/support/ref_counted_ptr_test.cc new file mode 100644 index 0000000000..fdf5e0e8d6 --- /dev/null +++ b/test/core/support/ref_counted_ptr_test.cc @@ -0,0 +1,174 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/support/ref_counted_ptr.h" + +#include + +#include + +#include "src/core/lib/support/memory.h" +#include "src/core/lib/support/ref_counted.h" +#include "test/core/util/test_config.h" + +namespace grpc_core { +namespace testing { +namespace { + +class Foo : public RefCounted { + public: + Foo() : value_(0) {} + + explicit Foo(int value) : value_(value) {} + + int value() const { return value_; } + + private: + int value_; +}; + +TEST(RefCountedPtr, DefaultConstructor) { RefCountedPtr foo; } + +TEST(RefCountedPtr, ExplicitConstructorEmpty) { + RefCountedPtr foo(nullptr); +} + +TEST(RefCountedPtr, ExplicitConstructor) { + RefCountedPtr foo(New()); +} + +TEST(RefCountedPtr, MoveConstructor) { + RefCountedPtr foo(New()); + RefCountedPtr foo2(std::move(foo)); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); +} + +TEST(RefCountedPtr, MoveAssignment) { + RefCountedPtr foo(New()); + RefCountedPtr foo2 = std::move(foo); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); +} + +TEST(RefCountedPtr, CopyConstructor) { + RefCountedPtr foo(New()); + RefCountedPtr foo2(foo); + EXPECT_NE(nullptr, foo.get()); + EXPECT_EQ(foo.get(), foo2.get()); +} + +TEST(RefCountedPtr, CopyAssignment) { + RefCountedPtr foo(New()); + RefCountedPtr foo2 = foo; + EXPECT_NE(nullptr, foo.get()); + EXPECT_EQ(foo.get(), foo2.get()); +} + +TEST(RefCountedPtr, CopyAssignmentWhenEmpty) { + RefCountedPtr foo; + RefCountedPtr foo2; + foo2 = foo; + EXPECT_EQ(nullptr, foo.get()); + EXPECT_EQ(nullptr, foo2.get()); +} + +TEST(RefCountedPtr, CopyAssignmentToSelf) { + RefCountedPtr foo(New()); + foo = foo; +} + +TEST(RefCountedPtr, EnclosedScope) { + RefCountedPtr foo(New()); + { + RefCountedPtr foo2(std::move(foo)); + EXPECT_EQ(nullptr, foo.get()); + EXPECT_NE(nullptr, foo2.get()); + } + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(RefCountedPtr, ResetFromNullToNonNull) { + RefCountedPtr foo; + EXPECT_EQ(nullptr, foo.get()); + foo.reset(New()); + EXPECT_NE(nullptr, foo.get()); +} + +TEST(RefCountedPtr, ResetFromNonNullToNonNull) { + RefCountedPtr foo(New()); + EXPECT_NE(nullptr, foo.get()); + Foo* original = foo.get(); + foo.reset(New()); + EXPECT_NE(nullptr, foo.get()); + EXPECT_NE(original, foo.get()); +} + +TEST(RefCountedPtr, ResetFromNonNullToNull) { + RefCountedPtr foo(New()); + EXPECT_NE(nullptr, foo.get()); + foo.reset(); + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(RefCountedPtr, ResetFromNullToNull) { + RefCountedPtr foo; + EXPECT_EQ(nullptr, foo.get()); + foo.reset(nullptr); + EXPECT_EQ(nullptr, foo.get()); +} + +TEST(RefCountedPtr, DerefernceOperators) { + RefCountedPtr foo(New()); + foo->value(); + Foo& foo_ref = *foo; + foo_ref.value(); +} + +TEST(MakeRefCounted, NoArgs) { + RefCountedPtr foo = MakeRefCounted(); + EXPECT_EQ(0, foo->value()); +} + +TEST(MakeRefCounted, Args) { + RefCountedPtr foo = MakeRefCounted(3); + EXPECT_EQ(3, foo->value()); +} + +TraceFlag foo_tracer(true, "foo"); + +class FooWithTracing : public RefCountedWithTracing { + public: + FooWithTracing() : RefCountedWithTracing(&foo_tracer) {} +}; + +TEST(RefCountedPtr, RefCountedWithTracing) { + RefCountedPtr foo(New()); + foo->Ref(DEBUG_LOCATION, "foo"); + foo->Unref(DEBUG_LOCATION, "foo"); +} + +} // namespace +} // namespace testing +} // namespace grpc_core + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/test/core/support/ref_counted_test.cc b/test/core/support/ref_counted_test.cc new file mode 100644 index 0000000000..be9b6ff7c2 --- /dev/null +++ b/test/core/support/ref_counted_test.cc @@ -0,0 +1,72 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "src/core/lib/support/ref_counted.h" + +#include + +#include "src/core/lib/support/memory.h" +#include "test/core/util/test_config.h" + +namespace grpc_core { +namespace testing { +namespace { + +class Foo : public RefCounted { + public: + Foo() {} +}; + +TEST(RefCounted, Basic) { + Foo* foo = New(); + foo->Unref(); +} + +TEST(RefCounted, ExtraRef) { + Foo* foo = New(); + foo->Ref(); + foo->Unref(); + foo->Unref(); +} + +TraceFlag foo_tracer(true, "foo"); + +class FooWithTracing : public RefCountedWithTracing { + public: + FooWithTracing() : RefCountedWithTracing(&foo_tracer) {} +}; + +TEST(RefCountedWithTracing, Basic) { + FooWithTracing* foo = New(); + foo->Ref(DEBUG_LOCATION, "extra_ref"); + foo->Unref(DEBUG_LOCATION, "extra_ref"); + // Can use the no-argument methods, too. + foo->Ref(); + foo->Unref(); + foo->Unref(DEBUG_LOCATION, "original_ref"); +} + +} // namespace +} // namespace testing +} // namespace grpc_core + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/test/core/support/reference_counted_ptr_test.cc b/test/core/support/reference_counted_ptr_test.cc deleted file mode 100644 index 45c552a1bc..0000000000 --- a/test/core/support/reference_counted_ptr_test.cc +++ /dev/null @@ -1,174 +0,0 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "src/core/lib/support/reference_counted_ptr.h" - -#include - -#include - -#include "src/core/lib/support/memory.h" -#include "src/core/lib/support/reference_counted.h" -#include "test/core/util/test_config.h" - -namespace grpc_core { -namespace testing { -namespace { - -class Foo : public ReferenceCounted { - public: - Foo() : value_(0) {} - - explicit Foo(int value) : value_(value) {} - - int value() const { return value_; } - - private: - int value_; -}; - -TEST(ReferenceCountedPtr, DefaultConstructor) { ReferenceCountedPtr foo; } - -TEST(ReferenceCountedPtr, ExplicitConstructorEmpty) { - ReferenceCountedPtr foo(nullptr); -} - -TEST(ReferenceCountedPtr, ExplicitConstructor) { - ReferenceCountedPtr foo(New()); -} - -TEST(ReferenceCountedPtr, MoveConstructor) { - ReferenceCountedPtr foo(New()); - ReferenceCountedPtr foo2(std::move(foo)); - EXPECT_EQ(nullptr, foo.get()); - EXPECT_NE(nullptr, foo2.get()); -} - -TEST(ReferenceCountedPtr, MoveAssignment) { - ReferenceCountedPtr foo(New()); - ReferenceCountedPtr foo2 = std::move(foo); - EXPECT_EQ(nullptr, foo.get()); - EXPECT_NE(nullptr, foo2.get()); -} - -TEST(ReferenceCountedPtr, CopyConstructor) { - ReferenceCountedPtr foo(New()); - ReferenceCountedPtr foo2(foo); - EXPECT_NE(nullptr, foo.get()); - EXPECT_EQ(foo.get(), foo2.get()); -} - -TEST(ReferenceCountedPtr, CopyAssignment) { - ReferenceCountedPtr foo(New()); - ReferenceCountedPtr foo2 = foo; - EXPECT_NE(nullptr, foo.get()); - EXPECT_EQ(foo.get(), foo2.get()); -} - -TEST(ReferenceCountedPtr, CopyAssignmentWhenEmpty) { - ReferenceCountedPtr foo; - ReferenceCountedPtr foo2; - foo2 = foo; - EXPECT_EQ(nullptr, foo.get()); - EXPECT_EQ(nullptr, foo2.get()); -} - -TEST(ReferenceCountedPtr, CopyAssignmentToSelf) { - ReferenceCountedPtr foo(New()); - foo = foo; -} - -TEST(ReferenceCountedPtr, EnclosedScope) { - ReferenceCountedPtr foo(New()); - { - ReferenceCountedPtr foo2(std::move(foo)); - EXPECT_EQ(nullptr, foo.get()); - EXPECT_NE(nullptr, foo2.get()); - } - EXPECT_EQ(nullptr, foo.get()); -} - -TEST(ReferenceCountedPtr, ResetFromNullToNonNull) { - ReferenceCountedPtr foo; - EXPECT_EQ(nullptr, foo.get()); - foo.reset(New()); - EXPECT_NE(nullptr, foo.get()); -} - -TEST(ReferenceCountedPtr, ResetFromNonNullToNonNull) { - ReferenceCountedPtr foo(New()); - EXPECT_NE(nullptr, foo.get()); - Foo* original = foo.get(); - foo.reset(New()); - EXPECT_NE(nullptr, foo.get()); - EXPECT_NE(original, foo.get()); -} - -TEST(ReferenceCountedPtr, ResetFromNonNullToNull) { - ReferenceCountedPtr foo(New()); - EXPECT_NE(nullptr, foo.get()); - foo.reset(); - EXPECT_EQ(nullptr, foo.get()); -} - -TEST(ReferenceCountedPtr, ResetFromNullToNull) { - ReferenceCountedPtr foo; - EXPECT_EQ(nullptr, foo.get()); - foo.reset(nullptr); - EXPECT_EQ(nullptr, foo.get()); -} - -TEST(ReferenceCountedPtr, DerefernceOperators) { - ReferenceCountedPtr foo(New()); - foo->value(); - Foo& foo_ref = *foo; - foo_ref.value(); -} - -TEST(MakeReferenceCounted, NoArgs) { - ReferenceCountedPtr foo = MakeReferenceCounted(); - EXPECT_EQ(0, foo->value()); -} - -TEST(MakeReferenceCounted, Args) { - ReferenceCountedPtr foo = MakeReferenceCounted(3); - EXPECT_EQ(3, foo->value()); -} - -TraceFlag foo_tracer(true, "foo"); - -class FooWithTracing : public ReferenceCountedWithTracing { - public: - FooWithTracing() : ReferenceCountedWithTracing(&foo_tracer) {} -}; - -TEST(ReferenceCountedPtr, ReferenceCountedWithTracing) { - ReferenceCountedPtr foo(New()); - foo->Ref(DEBUG_LOCATION, "foo"); - foo->Unref(DEBUG_LOCATION, "foo"); -} - -} // namespace -} // namespace testing -} // namespace grpc_core - -int main(int argc, char** argv) { - grpc_test_init(argc, argv); - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/core/support/reference_counted_test.cc b/test/core/support/reference_counted_test.cc deleted file mode 100644 index 88ee5d8e55..0000000000 --- a/test/core/support/reference_counted_test.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * Copyright 2017 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "src/core/lib/support/reference_counted.h" - -#include - -#include "src/core/lib/support/memory.h" -#include "test/core/util/test_config.h" - -namespace grpc_core { -namespace testing { -namespace { - -class Foo : public ReferenceCounted { - public: - Foo() {} -}; - -TEST(ReferenceCounted, Basic) { - Foo* foo = New(); - foo->Unref(); -} - -TEST(ReferenceCounted, ExtraRef) { - Foo* foo = New(); - foo->Ref(); - foo->Unref(); - foo->Unref(); -} - -TraceFlag foo_tracer(true, "foo"); - -class FooWithTracing : public ReferenceCountedWithTracing { - public: - FooWithTracing() : ReferenceCountedWithTracing(&foo_tracer) {} -}; - -TEST(ReferenceCountedWithTracing, Basic) { - FooWithTracing* foo = New(); - foo->Ref(DEBUG_LOCATION, "extra_ref"); - foo->Unref(DEBUG_LOCATION, "extra_ref"); - // Can use the no-argument methods, too. - foo->Ref(); - foo->Unref(); - foo->Unref(DEBUG_LOCATION, "original_ref"); -} - -} // namespace -} // namespace testing -} // namespace grpc_core - -int main(int argc, char** argv) { - grpc_test_init(argc, argv); - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 078dd7bb87..a7979f87a8 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1037,8 +1037,8 @@ src/core/lib/support/manual_constructor.h \ src/core/lib/support/memory.h \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.h \ -src/core/lib/support/reference_counted.h \ -src/core/lib/support/reference_counted_ptr.h \ +src/core/lib/support/ref_counted.h \ +src/core/lib/support/ref_counted_ptr.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.h \ src/core/lib/support/string.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 8343f88a37..827b3382ab 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1299,8 +1299,8 @@ src/core/lib/support/mpscq.cc \ src/core/lib/support/mpscq.h \ src/core/lib/support/murmur_hash.cc \ src/core/lib/support/murmur_hash.h \ -src/core/lib/support/reference_counted.h \ -src/core/lib/support/reference_counted_ptr.h \ +src/core/lib/support/ref_counted.h \ +src/core/lib/support/ref_counted_ptr.h \ src/core/lib/support/spinlock.h \ src/core/lib/support/stack_lockfree.cc \ src/core/lib/support/stack_lockfree.h \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 091aa17141..9e70297825 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -3929,9 +3929,9 @@ "headers": [], "is_filegroup": false, "language": "c++", - "name": "reference_counted_ptr_test", + "name": "ref_counted_ptr_test", "src": [ - "test/core/support/reference_counted_ptr_test.cc" + "test/core/support/ref_counted_ptr_test.cc" ], "third_party": false, "type": "target" @@ -3948,9 +3948,9 @@ "headers": [], "is_filegroup": false, "language": "c++", - "name": "reference_counted_test", + "name": "ref_counted_test", "src": [ - "test/core/support/reference_counted_test.cc" + "test/core/support/ref_counted_test.cc" ], "third_party": false, "type": "target" @@ -8259,8 +8259,8 @@ "src/core/lib/slice/slice_internal.h", "src/core/lib/slice/slice_string_helpers.h", "src/core/lib/support/debug_location.h", - "src/core/lib/support/reference_counted.h", - "src/core/lib/support/reference_counted_ptr.h", + "src/core/lib/support/ref_counted.h", + "src/core/lib/support/ref_counted_ptr.h", "src/core/lib/support/vector.h", "src/core/lib/surface/alarm_internal.h", "src/core/lib/surface/api_trace.h", @@ -8398,8 +8398,8 @@ "src/core/lib/slice/slice_internal.h", "src/core/lib/slice/slice_string_helpers.h", "src/core/lib/support/debug_location.h", - "src/core/lib/support/reference_counted.h", - "src/core/lib/support/reference_counted_ptr.h", + "src/core/lib/support/ref_counted.h", + "src/core/lib/support/ref_counted_ptr.h", "src/core/lib/support/vector.h", "src/core/lib/surface/alarm_internal.h", "src/core/lib/surface/api_trace.h", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index ba70d56085..0a49f3adf9 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -4138,7 +4138,7 @@ "flaky": false, "gtest": true, "language": "c++", - "name": "reference_counted_ptr_test", + "name": "ref_counted_ptr_test", "platforms": [ "linux", "mac", @@ -4162,7 +4162,7 @@ "flaky": false, "gtest": true, "language": "c++", - "name": "reference_counted_test", + "name": "ref_counted_test", "platforms": [ "linux", "mac", -- cgit v1.2.3 From 9aea2573913e504375e667d9f4500faa505b5abe Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Wed, 29 Nov 2017 12:06:36 -0800 Subject: clang-format --- test/core/support/ref_counted_ptr_test.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'test') diff --git a/test/core/support/ref_counted_ptr_test.cc b/test/core/support/ref_counted_ptr_test.cc index fdf5e0e8d6..1830edc4e5 100644 --- a/test/core/support/ref_counted_ptr_test.cc +++ b/test/core/support/ref_counted_ptr_test.cc @@ -48,9 +48,7 @@ TEST(RefCountedPtr, ExplicitConstructorEmpty) { RefCountedPtr foo(nullptr); } -TEST(RefCountedPtr, ExplicitConstructor) { - RefCountedPtr foo(New()); -} +TEST(RefCountedPtr, ExplicitConstructor) { RefCountedPtr foo(New()); } TEST(RefCountedPtr, MoveConstructor) { RefCountedPtr foo(New()); -- cgit v1.2.3 From 6ab0ba8df5ada5f39dc5a828d6f433cb170a0941 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 29 Nov 2017 13:32:46 -0800 Subject: clang fmt --- test/core/end2end/tests/simple_request.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/core/end2end/tests/simple_request.cc b/test/core/end2end/tests/simple_request.cc index 86fe5d1e20..2ff5434813 100644 --- a/test/core/end2end/tests/simple_request.cc +++ b/test/core/end2end/tests/simple_request.cc @@ -201,7 +201,7 @@ static void simple_request_body(grpc_end2end_test_config config, GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED); GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz")); - // the following sanity check makes sure that the requested error string is + // the following sanity check makes sure that the requested error string is // correctly populated by the core. It looks for certain substrings that are // not likely to change much. Some parts of the error, like time created, // obviously are not checked. @@ -210,7 +210,7 @@ static void simple_request_body(grpc_end2end_test_config config, GPR_ASSERT(nullptr != strstr(error_string, "Error received from peer")); GPR_ASSERT(nullptr != strstr(error_string, "src/core/lib/surface/call.cc")); GPR_ASSERT(nullptr != strstr(error_string, "grpc_message")); - GPR_ASSERT(nullptr != strstr(error_string, "grpc_status")); + GPR_ASSERT(nullptr != strstr(error_string, "grpc_status")); GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo")); validate_host_override_string("foo.test.google.fr:1234", call_details.host, config); -- cgit v1.2.3 From c7d1f93e7695d5de2a4fccef93e81471d05b64a8 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 29 Nov 2017 14:05:33 -0800 Subject: Fix windows --- test/core/end2end/tests/simple_request.cc | 1 - 1 file changed, 1 deletion(-) (limited to 'test') diff --git a/test/core/end2end/tests/simple_request.cc b/test/core/end2end/tests/simple_request.cc index 2ff5434813..7eb7467981 100644 --- a/test/core/end2end/tests/simple_request.cc +++ b/test/core/end2end/tests/simple_request.cc @@ -208,7 +208,6 @@ static void simple_request_body(grpc_end2end_test_config config, GPR_ASSERT(nullptr != strstr(error_string, "xyz")); GPR_ASSERT(nullptr != strstr(error_string, "description")); GPR_ASSERT(nullptr != strstr(error_string, "Error received from peer")); - GPR_ASSERT(nullptr != strstr(error_string, "src/core/lib/surface/call.cc")); GPR_ASSERT(nullptr != strstr(error_string, "grpc_message")); GPR_ASSERT(nullptr != strstr(error_string, "grpc_status")); GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo")); -- cgit v1.2.3 From 4f25daa7aff614fe820eb4d7432b0c8658bef81d Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Thu, 30 Nov 2017 17:09:30 +0100 Subject: dont let server shutdown run forever --- test/core/surface/concurrent_connectivity_test.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/core/surface/concurrent_connectivity_test.cc b/test/core/surface/concurrent_connectivity_test.cc index 8fa15ab331..c7611b0dd1 100644 --- a/test/core/surface/concurrent_connectivity_test.cc +++ b/test/core/surface/concurrent_connectivity_test.cc @@ -49,10 +49,11 @@ #define NUM_OUTER_LOOPS_SHORT_TIMEOUTS 10 #define NUM_INNER_LOOPS_SHORT_TIMEOUTS 100 #define DELAY_MILLIS_SHORT_TIMEOUTS 1 -// in a successful test run, POLL_MILLIS should never be reached beause all runs -// should -// end after the shorter delay_millis +// in a successful test run, POLL_MILLIS should never be reached because all +// runs should end after the shorter delay_millis #define POLL_MILLIS_SHORT_TIMEOUTS 30000 +// it should never take longer that this to shutdown the server +#define SERVER_SHUTDOWN_TIMEOUT 30000 static void* tag(int n) { return (void*)(uintptr_t)n; } static int detag(void* p) { return (int)(uintptr_t)p; } @@ -95,7 +96,8 @@ struct server_thread_args { void server_thread(void* vargs) { struct server_thread_args* args = (struct server_thread_args*)vargs; grpc_event ev; - gpr_timespec deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC); + gpr_timespec deadline = + grpc_timeout_milliseconds_to_deadline(SERVER_SHUTDOWN_TIMEOUT); ev = grpc_completion_queue_next(args->cq, deadline, nullptr); GPR_ASSERT(ev.type == GRPC_OP_COMPLETE); GPR_ASSERT(detag(ev.tag) == 0xd1e); -- cgit v1.2.3 From 195cf1ebfd5e3ab12d8271e116e1f022a9b23ef6 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 30 Nov 2017 10:56:06 -0800 Subject: Move histogram to test/core/util --- BUILD | 5 +- CMakeLists.txt | 63 +++--- Makefile | 79 ++++--- build.yaml | 22 +- config.m4 | 1 - config.w32 | 1 - gRPC-Core.podspec | 2 - grpc.def | 15 -- grpc.gemspec | 2 - grpc.gyp | 3 +- include/grpc/module.modulemap | 1 - include/grpc/support/histogram.h | 64 ------ package.xml | 2 - src/core/lib/support/histogram.cc | 227 --------------------- src/python/grpcio/grpc_core_dependencies.py | 1 - src/ruby/ext/grpc/rb_grpc_imports.generated.c | 30 --- src/ruby/ext/grpc/rb_grpc_imports.generated.h | 46 ----- test/core/fling/client.cc | 18 +- .../core/network_benchmarks/low_level_ping_pong.cc | 18 +- test/core/support/BUILD | 10 - test/core/support/histogram_test.cc | 163 --------------- test/core/surface/public_headers_must_be_c89.c | 16 -- test/core/util/BUILD | 25 ++- test/core/util/histogram.cc | 227 +++++++++++++++++++++ test/core/util/histogram.h | 62 ++++++ test/core/util/histogram_test.cc | 163 +++++++++++++++ test/cpp/qps/BUILD | 2 +- test/cpp/qps/histogram.h | 36 ++-- test/cpp/qps/qps_interarrival_test.cc | 10 +- test/cpp/qps/qps_worker.cc | 2 +- tools/doxygen/Doxyfile.c++ | 1 - tools/doxygen/Doxyfile.c++.internal | 1 - tools/doxygen/Doxyfile.core | 1 - tools/doxygen/Doxyfile.core.internal | 2 - tools/run_tests/generated/sources_and_headers.json | 36 ++-- tools/run_tests/generated/tests.json | 48 ++--- 36 files changed, 640 insertions(+), 765 deletions(-) delete mode 100644 include/grpc/support/histogram.h delete mode 100644 src/core/lib/support/histogram.cc delete mode 100644 test/core/support/histogram_test.cc create mode 100644 test/core/util/histogram.cc create mode 100644 test/core/util/histogram.h create mode 100644 test/core/util/histogram_test.cc (limited to 'test') diff --git a/BUILD b/BUILD index d904a1ec6e..82ac73f014 100644 --- a/BUILD +++ b/BUILD @@ -54,7 +54,6 @@ GPR_PUBLIC_HDRS = [ "include/grpc/support/avl.h", "include/grpc/support/cmdline.h", "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", "include/grpc/support/host_port.h", "include/grpc/support/log.h", "include/grpc/support/log_windows.h", @@ -79,10 +78,11 @@ GRPC_PUBLIC_HDRS = [ "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", "include/grpc/compression.h", - "include/grpc/load_reporting.h", + "include/grpc/fork.h", "include/grpc/grpc.h", "include/grpc/grpc_posix.h", "include/grpc/grpc_security_constants.h", + "include/grpc/load_reporting.h", "include/grpc/slice.h", "include/grpc/slice_buffer.h", "include/grpc/status.h", @@ -446,7 +446,6 @@ grpc_cc_library( "src/core/lib/support/env_posix.cc", "src/core/lib/support/env_windows.cc", "src/core/lib/support/fork.cc", - "src/core/lib/support/histogram.cc", "src/core/lib/support/host_port.cc", "src/core/lib/support/log.cc", "src/core/lib/support/log_android.cc", diff --git a/CMakeLists.txt b/CMakeLists.txt index 760e4fa585..ab57f662cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -427,7 +427,6 @@ add_dependencies(buildtests_c gpr_avl_test) add_dependencies(buildtests_c gpr_cmdline_test) add_dependencies(buildtests_c gpr_cpu_test) add_dependencies(buildtests_c gpr_env_test) -add_dependencies(buildtests_c gpr_histogram_test) add_dependencies(buildtests_c gpr_host_port_test) add_dependencies(buildtests_c gpr_log_test) add_dependencies(buildtests_c gpr_manual_constructor_test) @@ -465,6 +464,7 @@ endif() if(_gRPC_PLATFORM_LINUX) add_dependencies(buildtests_c handshake_server_with_readahead_handshaker) endif() +add_dependencies(buildtests_c histogram_test) add_dependencies(buildtests_c hpack_parser_test) add_dependencies(buildtests_c hpack_table_test) add_dependencies(buildtests_c http_parser_test) @@ -799,7 +799,6 @@ add_library(gpr src/core/lib/support/env_posix.cc src/core/lib/support/env_windows.cc src/core/lib/support/fork.cc - src/core/lib/support/histogram.cc src/core/lib/support/host_port.cc src/core/lib/support/log.cc src/core/lib/support/log_android.cc @@ -869,7 +868,6 @@ foreach(_hdr include/grpc/support/avl.h include/grpc/support/cmdline.h include/grpc/support/cpu.h - include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_windows.h @@ -1617,6 +1615,7 @@ add_library(grpc_test_util test/core/iomgr/endpoint_tests.cc test/core/util/debugger_macros.cc test/core/util/grpc_profiler.cc + test/core/util/histogram.cc test/core/util/memory_counters.cc test/core/util/mock_endpoint.cc test/core/util/parse_hexstring.cc @@ -1885,6 +1884,7 @@ add_library(grpc_test_util_unsecure test/core/iomgr/endpoint_tests.cc test/core/util/debugger_macros.cc test/core/util/grpc_profiler.cc + test/core/util/histogram.cc test/core/util/memory_counters.cc test/core/util/mock_endpoint.cc test/core/util/parse_hexstring.cc @@ -2671,7 +2671,6 @@ foreach(_hdr include/grpc/support/avl.h include/grpc/support/cmdline.h include/grpc/support/cpu.h - include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_windows.h @@ -3158,7 +3157,6 @@ foreach(_hdr include/grpc/support/avl.h include/grpc/support/cmdline.h include/grpc/support/cpu.h - include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_windows.h @@ -3905,7 +3903,6 @@ foreach(_hdr include/grpc/support/avl.h include/grpc/support/cmdline.h include/grpc/support/cpu.h - include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_windows.h @@ -6259,33 +6256,6 @@ target_link_libraries(gpr_env_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) -add_executable(gpr_histogram_test - test/core/support/histogram_test.cc -) - - -target_include_directories(gpr_histogram_test - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${BORINGSSL_ROOT_DIR}/include - PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${BENCHMARK_ROOT_DIR}/include - PRIVATE ${ZLIB_ROOT_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib - PRIVATE ${CARES_INCLUDE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include -) - -target_link_libraries(gpr_histogram_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr_test_util - gpr -) - -endif (gRPC_BUILD_TESTS) -if (gRPC_BUILD_TESTS) - add_executable(gpr_host_port_test test/core/support/host_port_test.cc ) @@ -7221,6 +7191,33 @@ endif() endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +add_executable(histogram_test + test/core/util/histogram_test.cc +) + + +target_include_directories(histogram_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${BENCHMARK_ROOT_DIR}/include + PRIVATE ${ZLIB_ROOT_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib + PRIVATE ${CARES_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/cares/cares + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/gflags/include +) + +target_link_libraries(histogram_test + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc_test_util + gpr +) + +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) + add_executable(hpack_parser_test test/core/transport/chttp2/hpack_parser_test.cc ) diff --git a/Makefile b/Makefile index 3ce3005924..bd83244a61 100644 --- a/Makefile +++ b/Makefile @@ -988,7 +988,6 @@ gpr_avl_test: $(BINDIR)/$(CONFIG)/gpr_avl_test gpr_cmdline_test: $(BINDIR)/$(CONFIG)/gpr_cmdline_test gpr_cpu_test: $(BINDIR)/$(CONFIG)/gpr_cpu_test gpr_env_test: $(BINDIR)/$(CONFIG)/gpr_env_test -gpr_histogram_test: $(BINDIR)/$(CONFIG)/gpr_histogram_test gpr_host_port_test: $(BINDIR)/$(CONFIG)/gpr_host_port_test gpr_log_test: $(BINDIR)/$(CONFIG)/gpr_log_test gpr_manual_constructor_test: $(BINDIR)/$(CONFIG)/gpr_manual_constructor_test @@ -1021,6 +1020,7 @@ grpc_verify_jwt: $(BINDIR)/$(CONFIG)/grpc_verify_jwt handshake_client: $(BINDIR)/$(CONFIG)/handshake_client handshake_server: $(BINDIR)/$(CONFIG)/handshake_server handshake_server_with_readahead_handshaker: $(BINDIR)/$(CONFIG)/handshake_server_with_readahead_handshaker +histogram_test: $(BINDIR)/$(CONFIG)/histogram_test hpack_parser_fuzzer_test: $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test hpack_parser_test: $(BINDIR)/$(CONFIG)/hpack_parser_test hpack_table_test: $(BINDIR)/$(CONFIG)/hpack_table_test @@ -1383,7 +1383,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/gpr_cmdline_test \ $(BINDIR)/$(CONFIG)/gpr_cpu_test \ $(BINDIR)/$(CONFIG)/gpr_env_test \ - $(BINDIR)/$(CONFIG)/gpr_histogram_test \ $(BINDIR)/$(CONFIG)/gpr_host_port_test \ $(BINDIR)/$(CONFIG)/gpr_log_test \ $(BINDIR)/$(CONFIG)/gpr_manual_constructor_test \ @@ -1413,6 +1412,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/handshake_client \ $(BINDIR)/$(CONFIG)/handshake_server \ $(BINDIR)/$(CONFIG)/handshake_server_with_readahead_handshaker \ + $(BINDIR)/$(CONFIG)/histogram_test \ $(BINDIR)/$(CONFIG)/hpack_parser_test \ $(BINDIR)/$(CONFIG)/hpack_table_test \ $(BINDIR)/$(CONFIG)/http_parser_test \ @@ -1829,8 +1829,6 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/gpr_cpu_test || ( echo test gpr_cpu_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_env_test" $(Q) $(BINDIR)/$(CONFIG)/gpr_env_test || ( echo test gpr_env_test failed ; exit 1 ) - $(E) "[RUN] Testing gpr_histogram_test" - $(Q) $(BINDIR)/$(CONFIG)/gpr_histogram_test || ( echo test gpr_histogram_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_host_port_test" $(Q) $(BINDIR)/$(CONFIG)/gpr_host_port_test || ( echo test gpr_host_port_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_log_test" @@ -1887,6 +1885,8 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/handshake_server || ( echo test handshake_server failed ; exit 1 ) $(E) "[RUN] Testing handshake_server_with_readahead_handshaker" $(Q) $(BINDIR)/$(CONFIG)/handshake_server_with_readahead_handshaker || ( echo test handshake_server_with_readahead_handshaker failed ; exit 1 ) + $(E) "[RUN] Testing histogram_test" + $(Q) $(BINDIR)/$(CONFIG)/histogram_test || ( echo test histogram_test failed ; exit 1 ) $(E) "[RUN] Testing hpack_parser_test" $(Q) $(BINDIR)/$(CONFIG)/hpack_parser_test || ( echo test hpack_parser_test failed ; exit 1 ) $(E) "[RUN] Testing hpack_table_test" @@ -2829,7 +2829,6 @@ LIBGPR_SRC = \ src/core/lib/support/env_posix.cc \ src/core/lib/support/env_windows.cc \ src/core/lib/support/fork.cc \ - src/core/lib/support/histogram.cc \ src/core/lib/support/host_port.cc \ src/core/lib/support/log.cc \ src/core/lib/support/log_android.cc \ @@ -2869,7 +2868,6 @@ PUBLIC_HEADERS_C += \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ - include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ @@ -3623,6 +3621,7 @@ LIBGRPC_TEST_UTIL_SRC = \ test/core/iomgr/endpoint_tests.cc \ test/core/util/debugger_macros.cc \ test/core/util/grpc_profiler.cc \ + test/core/util/histogram.cc \ test/core/util/memory_counters.cc \ test/core/util/mock_endpoint.cc \ test/core/util/parse_hexstring.cc \ @@ -3882,6 +3881,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ test/core/iomgr/endpoint_tests.cc \ test/core/util/debugger_macros.cc \ test/core/util/grpc_profiler.cc \ + test/core/util/histogram.cc \ test/core/util/memory_counters.cc \ test/core/util/mock_endpoint.cc \ test/core/util/parse_hexstring.cc \ @@ -4591,7 +4591,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ - include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ @@ -5079,7 +5078,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ - include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ @@ -5801,7 +5799,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ - include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ @@ -10095,38 +10092,6 @@ endif endif -GPR_HISTOGRAM_TEST_SRC = \ - test/core/support/histogram_test.cc \ - -GPR_HISTOGRAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/gpr_histogram_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_histogram_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/support/histogram_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) -endif -endif - - GPR_HOST_PORT_TEST_SRC = \ test/core/support/host_port_test.cc \ @@ -11157,6 +11122,38 @@ endif endif +HISTOGRAM_TEST_SRC = \ + test/core/util/histogram_test.cc \ + +HISTOGRAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HISTOGRAM_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/histogram_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/histogram_test: $(HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/histogram_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/util/histogram_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_histogram_test: $(HISTOGRAM_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HISTOGRAM_TEST_OBJS:.o=.dep) +endif +endif + + HPACK_PARSER_FUZZER_TEST_SRC = \ test/core/transport/chttp2/hpack_parser_fuzzer_test.cc \ diff --git a/build.yaml b/build.yaml index 0908f7efd2..40c37dc53f 100644 --- a/build.yaml +++ b/build.yaml @@ -41,7 +41,6 @@ filegroups: - src/core/lib/support/env_posix.cc - src/core/lib/support/env_windows.cc - src/core/lib/support/fork.cc - - src/core/lib/support/histogram.cc - src/core/lib/support/host_port.cc - src/core/lib/support/log.cc - src/core/lib/support/log_android.cc @@ -83,7 +82,6 @@ filegroups: - include/grpc/support/avl.h - include/grpc/support/cmdline.h - include/grpc/support/cpu.h - - include/grpc/support/histogram.h - include/grpc/support/host_port.h - include/grpc/support/log.h - include/grpc/support/log_windows.h @@ -714,6 +712,7 @@ filegroups: - test/core/iomgr/endpoint_tests.h - test/core/util/debugger_macros.h - test/core/util/grpc_profiler.h + - test/core/util/histogram.h - test/core/util/memory_counters.h - test/core/util/mock_endpoint.h - test/core/util/parse_hexstring.h @@ -731,6 +730,7 @@ filegroups: - test/core/iomgr/endpoint_tests.cc - test/core/util/debugger_macros.cc - test/core/util/grpc_profiler.cc + - test/core/util/histogram.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc @@ -2196,15 +2196,6 @@ targets: - gpr_test_util - gpr uses_polling: false -- name: gpr_histogram_test - build: test - language: c - src: - - test/core/support/histogram_test.cc - deps: - - gpr_test_util - - gpr - uses_polling: false - name: gpr_host_port_test build: test language: c @@ -2553,6 +2544,15 @@ targets: platforms: - linux secure: true +- name: histogram_test + build: test + language: c + src: + - test/core/util/histogram_test.cc + deps: + - grpc_test_util + - gpr + uses_polling: false - name: hpack_parser_fuzzer_test build: fuzzer language: c diff --git a/config.m4 b/config.m4 index 6fe897f4d5..c026b83f35 100644 --- a/config.m4 +++ b/config.m4 @@ -54,7 +54,6 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/env_posix.cc \ src/core/lib/support/env_windows.cc \ src/core/lib/support/fork.cc \ - src/core/lib/support/histogram.cc \ src/core/lib/support/host_port.cc \ src/core/lib/support/log.cc \ src/core/lib/support/log_android.cc \ diff --git a/config.w32 b/config.w32 index c2a4327c72..cd3a16a465 100644 --- a/config.w32 +++ b/config.w32 @@ -31,7 +31,6 @@ if (PHP_GRPC != "no") { "src\\core\\lib\\support\\env_posix.cc " + "src\\core\\lib\\support\\env_windows.cc " + "src\\core\\lib\\support\\fork.cc " + - "src\\core\\lib\\support\\histogram.cc " + "src\\core\\lib\\support\\host_port.cc " + "src\\core\\lib\\support\\log.cc " + "src\\core\\lib\\support\\log_android.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 82dda2017f..39b848414a 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -113,7 +113,6 @@ Pod::Spec.new do |s| 'include/grpc/support/avl.h', 'include/grpc/support/cmdline.h', 'include/grpc/support/cpu.h', - 'include/grpc/support/histogram.h', 'include/grpc/support/host_port.h', 'include/grpc/support/log.h', 'include/grpc/support/log_windows.h', @@ -223,7 +222,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/env_posix.cc', 'src/core/lib/support/env_windows.cc', 'src/core/lib/support/fork.cc', - 'src/core/lib/support/histogram.cc', 'src/core/lib/support/host_port.cc', 'src/core/lib/support/log.cc', 'src/core/lib/support/log_android.cc', diff --git a/grpc.def b/grpc.def index 07c0b3e928..d4a18ccefc 100644 --- a/grpc.def +++ b/grpc.def @@ -200,21 +200,6 @@ EXPORTS gpr_cmdline_usage_string gpr_cpu_num_cores gpr_cpu_current_cpu - gpr_histogram_create - gpr_histogram_destroy - gpr_histogram_add - gpr_histogram_merge - gpr_histogram_percentile - gpr_histogram_mean - gpr_histogram_stddev - gpr_histogram_variance - gpr_histogram_maximum - gpr_histogram_minimum - gpr_histogram_count - gpr_histogram_sum - gpr_histogram_sum_of_squares - gpr_histogram_get_contents - gpr_histogram_merge_contents gpr_join_host_port gpr_split_host_port gpr_log_severity_string diff --git a/grpc.gemspec b/grpc.gemspec index e553b770e4..d185995261 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -52,7 +52,6 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/support/avl.h ) s.files += %w( include/grpc/support/cmdline.h ) s.files += %w( include/grpc/support/cpu.h ) - s.files += %w( include/grpc/support/histogram.h ) s.files += %w( include/grpc/support/host_port.h ) s.files += %w( include/grpc/support/log.h ) s.files += %w( include/grpc/support/log_windows.h ) @@ -117,7 +116,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/env_posix.cc ) s.files += %w( src/core/lib/support/env_windows.cc ) s.files += %w( src/core/lib/support/fork.cc ) - s.files += %w( src/core/lib/support/histogram.cc ) s.files += %w( src/core/lib/support/host_port.cc ) s.files += %w( src/core/lib/support/log.cc ) s.files += %w( src/core/lib/support/log_android.cc ) diff --git a/grpc.gyp b/grpc.gyp index f2033b47b0..4ceb480282 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -173,7 +173,6 @@ 'src/core/lib/support/env_posix.cc', 'src/core/lib/support/env_windows.cc', 'src/core/lib/support/fork.cc', - 'src/core/lib/support/histogram.cc', 'src/core/lib/support/host_port.cc', 'src/core/lib/support/log.cc', 'src/core/lib/support/log_android.cc', @@ -506,6 +505,7 @@ 'test/core/iomgr/endpoint_tests.cc', 'test/core/util/debugger_macros.cc', 'test/core/util/grpc_profiler.cc', + 'test/core/util/histogram.cc', 'test/core/util/memory_counters.cc', 'test/core/util/mock_endpoint.cc', 'test/core/util/parse_hexstring.cc', @@ -716,6 +716,7 @@ 'test/core/iomgr/endpoint_tests.cc', 'test/core/util/debugger_macros.cc', 'test/core/util/grpc_profiler.cc', + 'test/core/util/histogram.cc', 'test/core/util/memory_counters.cc', 'test/core/util/mock_endpoint.cc', 'test/core/util/parse_hexstring.cc', diff --git a/include/grpc/module.modulemap b/include/grpc/module.modulemap index 0faa448b70..67136cba8a 100644 --- a/include/grpc/module.modulemap +++ b/include/grpc/module.modulemap @@ -7,7 +7,6 @@ framework module grpc { header "support/avl.h" header "support/cmdline.h" header "support/cpu.h" - header "support/histogram.h" header "support/host_port.h" header "support/log.h" header "support/log_windows.h" diff --git a/include/grpc/support/histogram.h b/include/grpc/support/histogram.h deleted file mode 100644 index d2794d847e..0000000000 --- a/include/grpc/support/histogram.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef GRPC_SUPPORT_HISTOGRAM_H -#define GRPC_SUPPORT_HISTOGRAM_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct gpr_histogram gpr_histogram; - -GPRAPI gpr_histogram* gpr_histogram_create(double resolution, - double max_bucket_start); -GPRAPI void gpr_histogram_destroy(gpr_histogram* h); -GPRAPI void gpr_histogram_add(gpr_histogram* h, double x); - -/** The following merges the second histogram into the first. It only works - if they have the same buckets and resolution. Returns 0 on failure, 1 - on success */ -GPRAPI int gpr_histogram_merge(gpr_histogram* dst, const gpr_histogram* src); - -GPRAPI double gpr_histogram_percentile(gpr_histogram* histogram, - double percentile); -GPRAPI double gpr_histogram_mean(gpr_histogram* histogram); -GPRAPI double gpr_histogram_stddev(gpr_histogram* histogram); -GPRAPI double gpr_histogram_variance(gpr_histogram* histogram); -GPRAPI double gpr_histogram_maximum(gpr_histogram* histogram); -GPRAPI double gpr_histogram_minimum(gpr_histogram* histogram); -GPRAPI double gpr_histogram_count(gpr_histogram* histogram); -GPRAPI double gpr_histogram_sum(gpr_histogram* histogram); -GPRAPI double gpr_histogram_sum_of_squares(gpr_histogram* histogram); - -GPRAPI const uint32_t* gpr_histogram_get_contents(gpr_histogram* histogram, - size_t* count); -GPRAPI void gpr_histogram_merge_contents(gpr_histogram* histogram, - const uint32_t* data, - size_t data_count, double min_seen, - double max_seen, double sum, - double sum_of_squares, double count); - -#ifdef __cplusplus -} -#endif - -#endif /* GRPC_SUPPORT_HISTOGRAM_H */ diff --git a/package.xml b/package.xml index 435fb4c2c2..b4d8c88693 100644 --- a/package.xml +++ b/package.xml @@ -64,7 +64,6 @@ - @@ -129,7 +128,6 @@ - diff --git a/src/core/lib/support/histogram.cc b/src/core/lib/support/histogram.cc deleted file mode 100644 index 73c821a28b..0000000000 --- a/src/core/lib/support/histogram.cc +++ /dev/null @@ -1,227 +0,0 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include - -#include -#include -#include -#include - -/* Histograms are stored with exponentially increasing bucket sizes. - The first bucket is [0, m) where m = 1 + resolution - Bucket n (n>=1) contains [m**n, m**(n+1)) - There are sufficient buckets to reach max_bucket_start */ - -struct gpr_histogram { - /* Sum of all values seen so far */ - double sum; - /* Sum of squares of all values seen so far */ - double sum_of_squares; - /* number of values seen so far */ - double count; - /* m in the description */ - double multiplier; - double one_on_log_multiplier; - /* minimum value seen */ - double min_seen; - /* maximum value seen */ - double max_seen; - /* maximum representable value */ - double max_possible; - /* number of buckets */ - size_t num_buckets; - /* the buckets themselves */ - uint32_t* buckets; -}; - -/* determine a bucket index given a value - does no bounds checking */ -static size_t bucket_for_unchecked(gpr_histogram* h, double x) { - return (size_t)(log(x) * h->one_on_log_multiplier); -} - -/* bounds checked version of the above */ -static size_t bucket_for(gpr_histogram* h, double x) { - size_t bucket = bucket_for_unchecked(h, GPR_CLAMP(x, 1.0, h->max_possible)); - GPR_ASSERT(bucket < h->num_buckets); - return bucket; -} - -/* at what value does a bucket start? */ -static double bucket_start(gpr_histogram* h, double x) { - return pow(h->multiplier, x); -} - -gpr_histogram* gpr_histogram_create(double resolution, - double max_bucket_start) { - gpr_histogram* h = (gpr_histogram*)gpr_malloc(sizeof(gpr_histogram)); - GPR_ASSERT(resolution > 0.0); - GPR_ASSERT(max_bucket_start > resolution); - h->sum = 0.0; - h->sum_of_squares = 0.0; - h->multiplier = 1.0 + resolution; - h->one_on_log_multiplier = 1.0 / log(1.0 + resolution); - h->max_possible = max_bucket_start; - h->count = 0.0; - h->min_seen = max_bucket_start; - h->max_seen = 0.0; - h->num_buckets = bucket_for_unchecked(h, max_bucket_start) + 1; - GPR_ASSERT(h->num_buckets > 1); - GPR_ASSERT(h->num_buckets < 100000000); - h->buckets = (uint32_t*)gpr_zalloc(sizeof(uint32_t) * h->num_buckets); - return h; -} - -void gpr_histogram_destroy(gpr_histogram* h) { - gpr_free(h->buckets); - gpr_free(h); -} - -void gpr_histogram_add(gpr_histogram* h, double x) { - h->sum += x; - h->sum_of_squares += x * x; - h->count++; - if (x < h->min_seen) { - h->min_seen = x; - } - if (x > h->max_seen) { - h->max_seen = x; - } - h->buckets[bucket_for(h, x)]++; -} - -int gpr_histogram_merge(gpr_histogram* dst, const gpr_histogram* src) { - if ((dst->num_buckets != src->num_buckets) || - (dst->multiplier != src->multiplier)) { - /* Fail because these histograms don't match */ - return 0; - } - gpr_histogram_merge_contents(dst, src->buckets, src->num_buckets, - src->min_seen, src->max_seen, src->sum, - src->sum_of_squares, src->count); - return 1; -} - -void gpr_histogram_merge_contents(gpr_histogram* dst, const uint32_t* data, - size_t data_count, double min_seen, - double max_seen, double sum, - double sum_of_squares, double count) { - size_t i; - GPR_ASSERT(dst->num_buckets == data_count); - dst->sum += sum; - dst->sum_of_squares += sum_of_squares; - dst->count += count; - if (min_seen < dst->min_seen) { - dst->min_seen = min_seen; - } - if (max_seen > dst->max_seen) { - dst->max_seen = max_seen; - } - for (i = 0; i < dst->num_buckets; i++) { - dst->buckets[i] += data[i]; - } -} - -static double threshold_for_count_below(gpr_histogram* h, double count_below) { - double count_so_far; - double lower_bound; - double upper_bound; - size_t lower_idx; - size_t upper_idx; - - if (h->count == 0) { - return 0.0; - } - - if (count_below <= 0) { - return h->min_seen; - } - if (count_below >= h->count) { - return h->max_seen; - } - - /* find the lowest bucket that gets us above count_below */ - count_so_far = 0.0; - for (lower_idx = 0; lower_idx < h->num_buckets; lower_idx++) { - count_so_far += h->buckets[lower_idx]; - if (count_so_far >= count_below) { - break; - } - } - if (count_so_far == count_below) { - /* this bucket hits the threshold exactly... we should be midway through - any run of zero values following the bucket */ - for (upper_idx = lower_idx + 1; upper_idx < h->num_buckets; upper_idx++) { - if (h->buckets[upper_idx]) { - break; - } - } - return (bucket_start(h, (double)lower_idx) + - bucket_start(h, (double)upper_idx)) / - 2.0; - } else { - /* treat values as uniform throughout the bucket, and find where this value - should lie */ - lower_bound = bucket_start(h, (double)lower_idx); - upper_bound = bucket_start(h, (double)(lower_idx + 1)); - return GPR_CLAMP(upper_bound - (upper_bound - lower_bound) * - (count_so_far - count_below) / - h->buckets[lower_idx], - h->min_seen, h->max_seen); - } -} - -double gpr_histogram_percentile(gpr_histogram* h, double percentile) { - return threshold_for_count_below(h, h->count * percentile / 100.0); -} - -double gpr_histogram_mean(gpr_histogram* h) { - GPR_ASSERT(h->count != 0); - return h->sum / h->count; -} - -double gpr_histogram_stddev(gpr_histogram* h) { - return sqrt(gpr_histogram_variance(h)); -} - -double gpr_histogram_variance(gpr_histogram* h) { - if (h->count == 0) return 0.0; - return (h->sum_of_squares * h->count - h->sum * h->sum) / - (h->count * h->count); -} - -double gpr_histogram_maximum(gpr_histogram* h) { return h->max_seen; } - -double gpr_histogram_minimum(gpr_histogram* h) { return h->min_seen; } - -double gpr_histogram_count(gpr_histogram* h) { return h->count; } - -double gpr_histogram_sum(gpr_histogram* h) { return h->sum; } - -double gpr_histogram_sum_of_squares(gpr_histogram* h) { - return h->sum_of_squares; -} - -const uint32_t* gpr_histogram_get_contents(gpr_histogram* h, size_t* size) { - *size = h->num_buckets; - return h->buckets; -} diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 56d6ebd842..d2a68f0902 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -30,7 +30,6 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/env_posix.cc', 'src/core/lib/support/env_windows.cc', 'src/core/lib/support/fork.cc', - 'src/core/lib/support/histogram.cc', 'src/core/lib/support/host_port.cc', 'src/core/lib/support/log.cc', 'src/core/lib/support/log_android.cc', diff --git a/src/ruby/ext/grpc/rb_grpc_imports.generated.c b/src/ruby/ext/grpc/rb_grpc_imports.generated.c index 648d515003..56f1d4c93f 100644 --- a/src/ruby/ext/grpc/rb_grpc_imports.generated.c +++ b/src/ruby/ext/grpc/rb_grpc_imports.generated.c @@ -223,21 +223,6 @@ gpr_cmdline_destroy_type gpr_cmdline_destroy_import; gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import; gpr_cpu_num_cores_type gpr_cpu_num_cores_import; gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import; -gpr_histogram_create_type gpr_histogram_create_import; -gpr_histogram_destroy_type gpr_histogram_destroy_import; -gpr_histogram_add_type gpr_histogram_add_import; -gpr_histogram_merge_type gpr_histogram_merge_import; -gpr_histogram_percentile_type gpr_histogram_percentile_import; -gpr_histogram_mean_type gpr_histogram_mean_import; -gpr_histogram_stddev_type gpr_histogram_stddev_import; -gpr_histogram_variance_type gpr_histogram_variance_import; -gpr_histogram_maximum_type gpr_histogram_maximum_import; -gpr_histogram_minimum_type gpr_histogram_minimum_import; -gpr_histogram_count_type gpr_histogram_count_import; -gpr_histogram_sum_type gpr_histogram_sum_import; -gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import; -gpr_histogram_get_contents_type gpr_histogram_get_contents_import; -gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import; gpr_join_host_port_type gpr_join_host_port_import; gpr_split_host_port_type gpr_split_host_port_import; gpr_log_severity_string_type gpr_log_severity_string_import; @@ -510,21 +495,6 @@ void grpc_rb_load_imports(HMODULE library) { gpr_cmdline_usage_string_import = (gpr_cmdline_usage_string_type) GetProcAddress(library, "gpr_cmdline_usage_string"); gpr_cpu_num_cores_import = (gpr_cpu_num_cores_type) GetProcAddress(library, "gpr_cpu_num_cores"); gpr_cpu_current_cpu_import = (gpr_cpu_current_cpu_type) GetProcAddress(library, "gpr_cpu_current_cpu"); - gpr_histogram_create_import = (gpr_histogram_create_type) GetProcAddress(library, "gpr_histogram_create"); - gpr_histogram_destroy_import = (gpr_histogram_destroy_type) GetProcAddress(library, "gpr_histogram_destroy"); - gpr_histogram_add_import = (gpr_histogram_add_type) GetProcAddress(library, "gpr_histogram_add"); - gpr_histogram_merge_import = (gpr_histogram_merge_type) GetProcAddress(library, "gpr_histogram_merge"); - gpr_histogram_percentile_import = (gpr_histogram_percentile_type) GetProcAddress(library, "gpr_histogram_percentile"); - gpr_histogram_mean_import = (gpr_histogram_mean_type) GetProcAddress(library, "gpr_histogram_mean"); - gpr_histogram_stddev_import = (gpr_histogram_stddev_type) GetProcAddress(library, "gpr_histogram_stddev"); - gpr_histogram_variance_import = (gpr_histogram_variance_type) GetProcAddress(library, "gpr_histogram_variance"); - gpr_histogram_maximum_import = (gpr_histogram_maximum_type) GetProcAddress(library, "gpr_histogram_maximum"); - gpr_histogram_minimum_import = (gpr_histogram_minimum_type) GetProcAddress(library, "gpr_histogram_minimum"); - gpr_histogram_count_import = (gpr_histogram_count_type) GetProcAddress(library, "gpr_histogram_count"); - gpr_histogram_sum_import = (gpr_histogram_sum_type) GetProcAddress(library, "gpr_histogram_sum"); - gpr_histogram_sum_of_squares_import = (gpr_histogram_sum_of_squares_type) GetProcAddress(library, "gpr_histogram_sum_of_squares"); - gpr_histogram_get_contents_import = (gpr_histogram_get_contents_type) GetProcAddress(library, "gpr_histogram_get_contents"); - gpr_histogram_merge_contents_import = (gpr_histogram_merge_contents_type) GetProcAddress(library, "gpr_histogram_merge_contents"); gpr_join_host_port_import = (gpr_join_host_port_type) GetProcAddress(library, "gpr_join_host_port"); gpr_split_host_port_import = (gpr_split_host_port_type) GetProcAddress(library, "gpr_split_host_port"); gpr_log_severity_string_import = (gpr_log_severity_string_type) GetProcAddress(library, "gpr_log_severity_string"); diff --git a/src/ruby/ext/grpc/rb_grpc_imports.generated.h b/src/ruby/ext/grpc/rb_grpc_imports.generated.h index c2698d16ea..62223fda5b 100644 --- a/src/ruby/ext/grpc/rb_grpc_imports.generated.h +++ b/src/ruby/ext/grpc/rb_grpc_imports.generated.h @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -649,51 +648,6 @@ extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import; typedef unsigned(*gpr_cpu_current_cpu_type)(void); extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import; #define gpr_cpu_current_cpu gpr_cpu_current_cpu_import -typedef gpr_histogram*(*gpr_histogram_create_type)(double resolution, double max_bucket_start); -extern gpr_histogram_create_type gpr_histogram_create_import; -#define gpr_histogram_create gpr_histogram_create_import -typedef void(*gpr_histogram_destroy_type)(gpr_histogram* h); -extern gpr_histogram_destroy_type gpr_histogram_destroy_import; -#define gpr_histogram_destroy gpr_histogram_destroy_import -typedef void(*gpr_histogram_add_type)(gpr_histogram* h, double x); -extern gpr_histogram_add_type gpr_histogram_add_import; -#define gpr_histogram_add gpr_histogram_add_import -typedef int(*gpr_histogram_merge_type)(gpr_histogram* dst, const gpr_histogram* src); -extern gpr_histogram_merge_type gpr_histogram_merge_import; -#define gpr_histogram_merge gpr_histogram_merge_import -typedef double(*gpr_histogram_percentile_type)(gpr_histogram* histogram, double percentile); -extern gpr_histogram_percentile_type gpr_histogram_percentile_import; -#define gpr_histogram_percentile gpr_histogram_percentile_import -typedef double(*gpr_histogram_mean_type)(gpr_histogram* histogram); -extern gpr_histogram_mean_type gpr_histogram_mean_import; -#define gpr_histogram_mean gpr_histogram_mean_import -typedef double(*gpr_histogram_stddev_type)(gpr_histogram* histogram); -extern gpr_histogram_stddev_type gpr_histogram_stddev_import; -#define gpr_histogram_stddev gpr_histogram_stddev_import -typedef double(*gpr_histogram_variance_type)(gpr_histogram* histogram); -extern gpr_histogram_variance_type gpr_histogram_variance_import; -#define gpr_histogram_variance gpr_histogram_variance_import -typedef double(*gpr_histogram_maximum_type)(gpr_histogram* histogram); -extern gpr_histogram_maximum_type gpr_histogram_maximum_import; -#define gpr_histogram_maximum gpr_histogram_maximum_import -typedef double(*gpr_histogram_minimum_type)(gpr_histogram* histogram); -extern gpr_histogram_minimum_type gpr_histogram_minimum_import; -#define gpr_histogram_minimum gpr_histogram_minimum_import -typedef double(*gpr_histogram_count_type)(gpr_histogram* histogram); -extern gpr_histogram_count_type gpr_histogram_count_import; -#define gpr_histogram_count gpr_histogram_count_import -typedef double(*gpr_histogram_sum_type)(gpr_histogram* histogram); -extern gpr_histogram_sum_type gpr_histogram_sum_import; -#define gpr_histogram_sum gpr_histogram_sum_import -typedef double(*gpr_histogram_sum_of_squares_type)(gpr_histogram* histogram); -extern gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import; -#define gpr_histogram_sum_of_squares gpr_histogram_sum_of_squares_import -typedef const uint32_t*(*gpr_histogram_get_contents_type)(gpr_histogram* histogram, size_t* count); -extern gpr_histogram_get_contents_type gpr_histogram_get_contents_import; -#define gpr_histogram_get_contents gpr_histogram_get_contents_import -typedef void(*gpr_histogram_merge_contents_type)(gpr_histogram* histogram, const uint32_t* data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count); -extern gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import; -#define gpr_histogram_merge_contents gpr_histogram_merge_contents_import typedef int(*gpr_join_host_port_type)(char** out, const char* host, int port); extern gpr_join_host_port_type gpr_join_host_port_import; #define gpr_join_host_port gpr_join_host_port_import diff --git a/test/core/fling/client.cc b/test/core/fling/client.cc index 544b66d480..69fb6dc7c7 100644 --- a/test/core/fling/client.cc +++ b/test/core/fling/client.cc @@ -22,15 +22,15 @@ #include #include -#include #include #include #include #include "src/core/lib/profiling/timers.h" #include "test/core/util/grpc_profiler.h" +#include "test/core/util/histogram.h" #include "test/core/util/test_config.h" -static gpr_histogram* histogram; +static grpc_histogram* histogram; static grpc_byte_buffer* the_buffer; static grpc_channel* channel; static grpc_completion_queue* cq; @@ -195,7 +195,7 @@ int main(int argc, char** argv) { channel = grpc_insecure_channel_create(target, nullptr, nullptr); cq = grpc_completion_queue_create_for_next(nullptr); the_buffer = grpc_raw_byte_buffer_create(&slice, (size_t)payload_size); - histogram = gpr_histogram_create(0.01, 60e9); + histogram = grpc_histogram_create(0.01, 60e9); sc.init(); @@ -213,7 +213,7 @@ int main(int argc, char** argv) { start = now(); sc.do_one_step(); stop = now(); - gpr_histogram_add(histogram, stop - start); + grpc_histogram_add(histogram, stop - start); } grpc_profiler_stop(); @@ -232,11 +232,11 @@ int main(int argc, char** argv) { grpc_slice_unref(slice); gpr_log(GPR_INFO, "latency (50/95/99/99.9): %f/%f/%f/%f", - gpr_histogram_percentile(histogram, 50), - gpr_histogram_percentile(histogram, 95), - gpr_histogram_percentile(histogram, 99), - gpr_histogram_percentile(histogram, 99.9)); - gpr_histogram_destroy(histogram); + grpc_histogram_percentile(histogram, 50), + grpc_histogram_percentile(histogram, 95), + grpc_histogram_percentile(histogram, 99), + grpc_histogram_percentile(histogram, 99.9)); + grpc_histogram_destroy(histogram); grpc_shutdown(); diff --git a/test/core/network_benchmarks/low_level_ping_pong.cc b/test/core/network_benchmarks/low_level_ping_pong.cc index 687395d916..2ae9a45d7c 100644 --- a/test/core/network_benchmarks/low_level_ping_pong.cc +++ b/test/core/network_benchmarks/low_level_ping_pong.cc @@ -36,13 +36,13 @@ #include #include -#include #include #include #include #include #include "src/core/lib/iomgr/error.h" #include "src/core/lib/iomgr/socket_utils_posix.h" +#include "test/core/util/histogram.h" typedef struct fd_pair { int read_fd; @@ -275,14 +275,14 @@ static void server_thread_wrap(void* arg) { server_thread(args); } -static void print_histogram(gpr_histogram* histogram) { +static void print_histogram(grpc_histogram* histogram) { /* TODO(klempner): Print more detailed information, such as detailed histogram buckets */ gpr_log(GPR_INFO, "latency (50/95/99/99.9): %f/%f/%f/%f", - gpr_histogram_percentile(histogram, 50), - gpr_histogram_percentile(histogram, 95), - gpr_histogram_percentile(histogram, 99), - gpr_histogram_percentile(histogram, 99.9)); + grpc_histogram_percentile(histogram, 50), + grpc_histogram_percentile(histogram, 95), + grpc_histogram_percentile(histogram, 99), + grpc_histogram_percentile(histogram, 99.9)); } static double now(void) { @@ -293,7 +293,7 @@ static double now(void) { static void client_thread(thread_args* args) { char* buf = static_cast(gpr_malloc(args->msg_size * sizeof(char))); memset(buf, 0, args->msg_size * sizeof(char)); - gpr_histogram* histogram = gpr_histogram_create(0.01, 60e9); + grpc_histogram* histogram = grpc_histogram_create(0.01, 60e9); double start_time; double end_time; double interval; @@ -316,13 +316,13 @@ static void client_thread(thread_args* args) { end_time = now(); if (i > kNumIters / 2) { interval = end_time - start_time; - gpr_histogram_add(histogram, interval); + grpc_histogram_add(histogram, interval); } } print_histogram(histogram); error: gpr_free(buf); - gpr_histogram_destroy(histogram); + grpc_histogram_destroy(histogram); } /* This roughly matches tcp_server's create_listening_socket */ diff --git a/test/core/support/BUILD b/test/core/support/BUILD index 32b64d4b8e..4372b49b54 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -68,16 +68,6 @@ grpc_cc_test( ], ) -grpc_cc_test( - name = "histogram_test", - srcs = ["histogram_test.cc"], - language = "C++", - deps = [ - "//:gpr", - "//test/core/util:gpr_test_util", - ], -) - grpc_cc_test( name = "host_port_test", srcs = ["host_port_test.cc"], diff --git a/test/core/support/histogram_test.cc b/test/core/support/histogram_test.cc deleted file mode 100644 index 86b7d599e6..0000000000 --- a/test/core/support/histogram_test.cc +++ /dev/null @@ -1,163 +0,0 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include - -#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x); - -static void test_no_op(void) { - gpr_histogram_destroy(gpr_histogram_create(0.01, 60e9)); -} - -static void expect_percentile(gpr_histogram* h, double percentile, - double min_expect, double max_expect) { - double got = gpr_histogram_percentile(h, percentile); - gpr_log(GPR_INFO, "@%f%%, expect %f <= %f <= %f", percentile, min_expect, got, - max_expect); - GPR_ASSERT(min_expect <= got); - GPR_ASSERT(got <= max_expect); -} - -static void test_simple(void) { - gpr_histogram* h; - - LOG_TEST("test_simple"); - - h = gpr_histogram_create(0.01, 60e9); - gpr_histogram_add(h, 10000); - gpr_histogram_add(h, 10000); - gpr_histogram_add(h, 11000); - gpr_histogram_add(h, 11000); - - expect_percentile(h, 50, 10001, 10999); - GPR_ASSERT(gpr_histogram_mean(h) == 10500); - - gpr_histogram_destroy(h); -} - -static void test_percentile(void) { - gpr_histogram* h; - double last; - double i; - double cur; - - LOG_TEST("test_percentile"); - - h = gpr_histogram_create(0.05, 1e9); - gpr_histogram_add(h, 2.5); - gpr_histogram_add(h, 2.5); - gpr_histogram_add(h, 8); - gpr_histogram_add(h, 4); - - GPR_ASSERT(gpr_histogram_count(h) == 4); - GPR_ASSERT(gpr_histogram_minimum(h) == 2.5); - GPR_ASSERT(gpr_histogram_maximum(h) == 8); - GPR_ASSERT(gpr_histogram_sum(h) == 17); - GPR_ASSERT(gpr_histogram_sum_of_squares(h) == 92.5); - GPR_ASSERT(gpr_histogram_mean(h) == 4.25); - GPR_ASSERT(gpr_histogram_variance(h) == 5.0625); - GPR_ASSERT(gpr_histogram_stddev(h) == 2.25); - - expect_percentile(h, -10, 2.5, 2.5); - expect_percentile(h, 0, 2.5, 2.5); - expect_percentile(h, 12.5, 2.5, 2.5); - expect_percentile(h, 25, 2.5, 2.5); - expect_percentile(h, 37.5, 2.5, 2.8); - expect_percentile(h, 50, 3.0, 3.5); - expect_percentile(h, 62.5, 3.5, 4.5); - expect_percentile(h, 75, 5, 7.9); - expect_percentile(h, 100, 8, 8); - expect_percentile(h, 110, 8, 8); - - /* test monotonicity */ - last = 0.0; - for (i = 0; i < 100.0; i += 0.01) { - cur = gpr_histogram_percentile(h, i); - GPR_ASSERT(cur >= last); - last = cur; - } - - gpr_histogram_destroy(h); -} - -static void test_merge(void) { - gpr_histogram *h1, *h2; - double last; - double i; - double cur; - - LOG_TEST("test_merge"); - - h1 = gpr_histogram_create(0.05, 1e9); - gpr_histogram_add(h1, 2.5); - gpr_histogram_add(h1, 2.5); - gpr_histogram_add(h1, 8); - gpr_histogram_add(h1, 4); - - h2 = gpr_histogram_create(0.01, 1e9); - GPR_ASSERT(gpr_histogram_merge(h1, h2) == 0); - gpr_histogram_destroy(h2); - - h2 = gpr_histogram_create(0.05, 1e10); - GPR_ASSERT(gpr_histogram_merge(h1, h2) == 0); - gpr_histogram_destroy(h2); - - h2 = gpr_histogram_create(0.05, 1e9); - GPR_ASSERT(gpr_histogram_merge(h1, h2) == 1); - GPR_ASSERT(gpr_histogram_count(h1) == 4); - GPR_ASSERT(gpr_histogram_minimum(h1) == 2.5); - GPR_ASSERT(gpr_histogram_maximum(h1) == 8); - GPR_ASSERT(gpr_histogram_sum(h1) == 17); - GPR_ASSERT(gpr_histogram_sum_of_squares(h1) == 92.5); - GPR_ASSERT(gpr_histogram_mean(h1) == 4.25); - GPR_ASSERT(gpr_histogram_variance(h1) == 5.0625); - GPR_ASSERT(gpr_histogram_stddev(h1) == 2.25); - gpr_histogram_destroy(h2); - - h2 = gpr_histogram_create(0.05, 1e9); - gpr_histogram_add(h2, 7.0); - gpr_histogram_add(h2, 17.0); - gpr_histogram_add(h2, 1.0); - GPR_ASSERT(gpr_histogram_merge(h1, h2) == 1); - GPR_ASSERT(gpr_histogram_count(h1) == 7); - GPR_ASSERT(gpr_histogram_minimum(h1) == 1.0); - GPR_ASSERT(gpr_histogram_maximum(h1) == 17.0); - GPR_ASSERT(gpr_histogram_sum(h1) == 42.0); - GPR_ASSERT(gpr_histogram_sum_of_squares(h1) == 431.5); - GPR_ASSERT(gpr_histogram_mean(h1) == 6.0); - - /* test monotonicity */ - last = 0.0; - for (i = 0; i < 100.0; i += 0.01) { - cur = gpr_histogram_percentile(h1, i); - GPR_ASSERT(cur >= last); - last = cur; - } - - gpr_histogram_destroy(h1); - gpr_histogram_destroy(h2); -} - -int main(void) { - test_no_op(); - test_simple(); - test_percentile(); - test_merge(); - return 0; -} diff --git a/test/core/surface/public_headers_must_be_c89.c b/test/core/surface/public_headers_must_be_c89.c index 33dc70a685..8d2384ba61 100644 --- a/test/core/surface/public_headers_must_be_c89.c +++ b/test/core/surface/public_headers_must_be_c89.c @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include @@ -266,21 +265,6 @@ int main(int argc, char **argv) { printf("%lx", (unsigned long) gpr_cmdline_usage_string); printf("%lx", (unsigned long) gpr_cpu_num_cores); printf("%lx", (unsigned long) gpr_cpu_current_cpu); - printf("%lx", (unsigned long) gpr_histogram_create); - printf("%lx", (unsigned long) gpr_histogram_destroy); - printf("%lx", (unsigned long) gpr_histogram_add); - printf("%lx", (unsigned long) gpr_histogram_merge); - printf("%lx", (unsigned long) gpr_histogram_percentile); - printf("%lx", (unsigned long) gpr_histogram_mean); - printf("%lx", (unsigned long) gpr_histogram_stddev); - printf("%lx", (unsigned long) gpr_histogram_variance); - printf("%lx", (unsigned long) gpr_histogram_maximum); - printf("%lx", (unsigned long) gpr_histogram_minimum); - printf("%lx", (unsigned long) gpr_histogram_count); - printf("%lx", (unsigned long) gpr_histogram_sum); - printf("%lx", (unsigned long) gpr_histogram_sum_of_squares); - printf("%lx", (unsigned long) gpr_histogram_get_contents); - printf("%lx", (unsigned long) gpr_histogram_merge_contents); printf("%lx", (unsigned long) gpr_join_host_port); printf("%lx", (unsigned long) gpr_split_host_port); printf("%lx", (unsigned long) gpr_log_severity_string); diff --git a/test/core/util/BUILD b/test/core/util/BUILD index 6443553466..268547f6c9 100644 --- a/test/core/util/BUILD +++ b/test/core/util/BUILD @@ -16,7 +16,10 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # Apache v2 -grpc_package(name = "test/core/util", visibility = "public") +grpc_package( + name = "test/core/util", + visibility = "public", +) grpc_cc_library( name = "gpr_test_util", @@ -49,6 +52,7 @@ grpc_cc_library( name = "grpc_test_util_base", srcs = [ "grpc_profiler.cc", + "histogram.cc", "mock_endpoint.cc", "parse_hexstring.cc", "passthru_endpoint.cc", @@ -62,6 +66,7 @@ grpc_cc_library( ], hdrs = [ "grpc_profiler.h", + "histogram.h", "mock_endpoint.h", "parse_hexstring.h", "passthru_endpoint.h", @@ -76,8 +81,8 @@ grpc_cc_library( language = "C++", deps = [ ":gpr_test_util", + ":grpc_debugger_macros", "//:grpc_common", - ":grpc_debugger_macros" ], ) @@ -107,13 +112,23 @@ grpc_cc_library( name = "fuzzer_corpus_test", testonly = 1, srcs = ["fuzzer_corpus_test.cc"], + external_deps = [ + "gtest", + "gflags", + ], deps = [ ":gpr_test_util", "//:grpc", ], - external_deps = [ - "gtest", - "gflags", +) + +grpc_cc_test( + name = "histogram_test", + srcs = ["histogram_test.cc"], + language = "C++", + deps = [ + ":grpc_test_util", + "//:gpr", ], ) diff --git a/test/core/util/histogram.cc b/test/core/util/histogram.cc new file mode 100644 index 0000000000..2f916f831d --- /dev/null +++ b/test/core/util/histogram.cc @@ -0,0 +1,227 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include +#include +#include + +#include +#include +#include +#include + +#include "test/core/util/histogram.h" + +/* Histograms are stored with exponentially increasing bucket sizes. + The first bucket is [0, m) where m = 1 + resolution + Bucket n (n>=1) contains [m**n, m**(n+1)) + There are sufficient buckets to reach max_bucket_start */ + +struct grpc_histogram { + /* Sum of all values seen so far */ + double sum; + /* Sum of squares of all values seen so far */ + double sum_of_squares; + /* number of values seen so far */ + double count; + /* m in the description */ + double multiplier; + double one_on_log_multiplier; + /* minimum value seen */ + double min_seen; + /* maximum value seen */ + double max_seen; + /* maximum representable value */ + double max_possible; + /* number of buckets */ + size_t num_buckets; + /* the buckets themselves */ + uint32_t* buckets; +}; + +/* determine a bucket index given a value - does no bounds checking */ +static size_t bucket_for_unchecked(grpc_histogram* h, double x) { + return (size_t)(log(x) * h->one_on_log_multiplier); +} + +/* bounds checked version of the above */ +static size_t bucket_for(grpc_histogram* h, double x) { + size_t bucket = bucket_for_unchecked(h, GPR_CLAMP(x, 1.0, h->max_possible)); + GPR_ASSERT(bucket < h->num_buckets); + return bucket; +} + +/* at what value does a bucket start? */ +static double bucket_start(grpc_histogram* h, double x) { + return pow(h->multiplier, x); +} + +grpc_histogram* grpc_histogram_create(double resolution, + double max_bucket_start) { + grpc_histogram* h = (grpc_histogram*)gpr_malloc(sizeof(grpc_histogram)); + GPR_ASSERT(resolution > 0.0); + GPR_ASSERT(max_bucket_start > resolution); + h->sum = 0.0; + h->sum_of_squares = 0.0; + h->multiplier = 1.0 + resolution; + h->one_on_log_multiplier = 1.0 / log(1.0 + resolution); + h->max_possible = max_bucket_start; + h->count = 0.0; + h->min_seen = max_bucket_start; + h->max_seen = 0.0; + h->num_buckets = bucket_for_unchecked(h, max_bucket_start) + 1; + GPR_ASSERT(h->num_buckets > 1); + GPR_ASSERT(h->num_buckets < 100000000); + h->buckets = (uint32_t*)gpr_zalloc(sizeof(uint32_t) * h->num_buckets); + return h; +} + +void grpc_histogram_destroy(grpc_histogram* h) { + gpr_free(h->buckets); + gpr_free(h); +} + +void grpc_histogram_add(grpc_histogram* h, double x) { + h->sum += x; + h->sum_of_squares += x * x; + h->count++; + if (x < h->min_seen) { + h->min_seen = x; + } + if (x > h->max_seen) { + h->max_seen = x; + } + h->buckets[bucket_for(h, x)]++; +} + +int grpc_histogram_merge(grpc_histogram* dst, const grpc_histogram* src) { + if ((dst->num_buckets != src->num_buckets) || + (dst->multiplier != src->multiplier)) { + /* Fail because these histograms don't match */ + return 0; + } + grpc_histogram_merge_contents(dst, src->buckets, src->num_buckets, + src->min_seen, src->max_seen, src->sum, + src->sum_of_squares, src->count); + return 1; +} + +void grpc_histogram_merge_contents(grpc_histogram* dst, const uint32_t* data, + size_t data_count, double min_seen, + double max_seen, double sum, + double sum_of_squares, double count) { + size_t i; + GPR_ASSERT(dst->num_buckets == data_count); + dst->sum += sum; + dst->sum_of_squares += sum_of_squares; + dst->count += count; + if (min_seen < dst->min_seen) { + dst->min_seen = min_seen; + } + if (max_seen > dst->max_seen) { + dst->max_seen = max_seen; + } + for (i = 0; i < dst->num_buckets; i++) { + dst->buckets[i] += data[i]; + } +} + +static double threshold_for_count_below(grpc_histogram* h, double count_below) { + double count_so_far; + double lower_bound; + double upper_bound; + size_t lower_idx; + size_t upper_idx; + + if (h->count == 0) { + return 0.0; + } + + if (count_below <= 0) { + return h->min_seen; + } + if (count_below >= h->count) { + return h->max_seen; + } + + /* find the lowest bucket that gets us above count_below */ + count_so_far = 0.0; + for (lower_idx = 0; lower_idx < h->num_buckets; lower_idx++) { + count_so_far += h->buckets[lower_idx]; + if (count_so_far >= count_below) { + break; + } + } + if (count_so_far == count_below) { + /* this bucket hits the threshold exactly... we should be midway through + any run of zero values following the bucket */ + for (upper_idx = lower_idx + 1; upper_idx < h->num_buckets; upper_idx++) { + if (h->buckets[upper_idx]) { + break; + } + } + return (bucket_start(h, (double)lower_idx) + + bucket_start(h, (double)upper_idx)) / + 2.0; + } else { + /* treat values as uniform throughout the bucket, and find where this value + should lie */ + lower_bound = bucket_start(h, (double)lower_idx); + upper_bound = bucket_start(h, (double)(lower_idx + 1)); + return GPR_CLAMP(upper_bound - (upper_bound - lower_bound) * + (count_so_far - count_below) / + h->buckets[lower_idx], + h->min_seen, h->max_seen); + } +} + +double grpc_histogram_percentile(grpc_histogram* h, double percentile) { + return threshold_for_count_below(h, h->count * percentile / 100.0); +} + +double grpc_histogram_mean(grpc_histogram* h) { + GPR_ASSERT(h->count != 0); + return h->sum / h->count; +} + +double grpc_histogram_stddev(grpc_histogram* h) { + return sqrt(grpc_histogram_variance(h)); +} + +double grpc_histogram_variance(grpc_histogram* h) { + if (h->count == 0) return 0.0; + return (h->sum_of_squares * h->count - h->sum * h->sum) / + (h->count * h->count); +} + +double grpc_histogram_maximum(grpc_histogram* h) { return h->max_seen; } + +double grpc_histogram_minimum(grpc_histogram* h) { return h->min_seen; } + +double grpc_histogram_count(grpc_histogram* h) { return h->count; } + +double grpc_histogram_sum(grpc_histogram* h) { return h->sum; } + +double grpc_histogram_sum_of_squares(grpc_histogram* h) { + return h->sum_of_squares; +} + +const uint32_t* grpc_histogram_get_contents(grpc_histogram* h, size_t* size) { + *size = h->num_buckets; + return h->buckets; +} diff --git a/test/core/util/histogram.h b/test/core/util/histogram.h new file mode 100644 index 0000000000..9d4985e64f --- /dev/null +++ b/test/core/util/histogram.h @@ -0,0 +1,62 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_SUPPORT_HISTOGRAM_H +#define GRPC_SUPPORT_HISTOGRAM_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct grpc_histogram grpc_histogram; + +grpc_histogram* grpc_histogram_create(double resolution, + double max_bucket_start); +void grpc_histogram_destroy(grpc_histogram* h); +void grpc_histogram_add(grpc_histogram* h, double x); + +/** The following merges the second histogram into the first. It only works + if they have the same buckets and resolution. Returns 0 on failure, 1 + on success */ +int grpc_histogram_merge(grpc_histogram* dst, const grpc_histogram* src); + +double grpc_histogram_percentile(grpc_histogram* histogram, double percentile); +double grpc_histogram_mean(grpc_histogram* histogram); +double grpc_histogram_stddev(grpc_histogram* histogram); +double grpc_histogram_variance(grpc_histogram* histogram); +double grpc_histogram_maximum(grpc_histogram* histogram); +double grpc_histogram_minimum(grpc_histogram* histogram); +double grpc_histogram_count(grpc_histogram* histogram); +double grpc_histogram_sum(grpc_histogram* histogram); +double grpc_histogram_sum_of_squares(grpc_histogram* histogram); + +const uint32_t* grpc_histogram_get_contents(grpc_histogram* histogram, + size_t* count); +void grpc_histogram_merge_contents(grpc_histogram* histogram, + const uint32_t* data, size_t data_count, + double min_seen, double max_seen, double sum, + double sum_of_squares, double count); + +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_SUPPORT_HISTOGRAM_H */ diff --git a/test/core/util/histogram_test.cc b/test/core/util/histogram_test.cc new file mode 100644 index 0000000000..b96ac7d841 --- /dev/null +++ b/test/core/util/histogram_test.cc @@ -0,0 +1,163 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "test/core/util/histogram.h" +#include + +#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x); + +static void test_no_op(void) { + grpc_histogram_destroy(grpc_histogram_create(0.01, 60e9)); +} + +static void expect_percentile(grpc_histogram* h, double percentile, + double min_expect, double max_expect) { + double got = grpc_histogram_percentile(h, percentile); + gpr_log(GPR_INFO, "@%f%%, expect %f <= %f <= %f", percentile, min_expect, got, + max_expect); + GPR_ASSERT(min_expect <= got); + GPR_ASSERT(got <= max_expect); +} + +static void test_simple(void) { + grpc_histogram* h; + + LOG_TEST("test_simple"); + + h = grpc_histogram_create(0.01, 60e9); + grpc_histogram_add(h, 10000); + grpc_histogram_add(h, 10000); + grpc_histogram_add(h, 11000); + grpc_histogram_add(h, 11000); + + expect_percentile(h, 50, 10001, 10999); + GPR_ASSERT(grpc_histogram_mean(h) == 10500); + + grpc_histogram_destroy(h); +} + +static void test_percentile(void) { + grpc_histogram* h; + double last; + double i; + double cur; + + LOG_TEST("test_percentile"); + + h = grpc_histogram_create(0.05, 1e9); + grpc_histogram_add(h, 2.5); + grpc_histogram_add(h, 2.5); + grpc_histogram_add(h, 8); + grpc_histogram_add(h, 4); + + GPR_ASSERT(grpc_histogram_count(h) == 4); + GPR_ASSERT(grpc_histogram_minimum(h) == 2.5); + GPR_ASSERT(grpc_histogram_maximum(h) == 8); + GPR_ASSERT(grpc_histogram_sum(h) == 17); + GPR_ASSERT(grpc_histogram_sum_of_squares(h) == 92.5); + GPR_ASSERT(grpc_histogram_mean(h) == 4.25); + GPR_ASSERT(grpc_histogram_variance(h) == 5.0625); + GPR_ASSERT(grpc_histogram_stddev(h) == 2.25); + + expect_percentile(h, -10, 2.5, 2.5); + expect_percentile(h, 0, 2.5, 2.5); + expect_percentile(h, 12.5, 2.5, 2.5); + expect_percentile(h, 25, 2.5, 2.5); + expect_percentile(h, 37.5, 2.5, 2.8); + expect_percentile(h, 50, 3.0, 3.5); + expect_percentile(h, 62.5, 3.5, 4.5); + expect_percentile(h, 75, 5, 7.9); + expect_percentile(h, 100, 8, 8); + expect_percentile(h, 110, 8, 8); + + /* test monotonicity */ + last = 0.0; + for (i = 0; i < 100.0; i += 0.01) { + cur = grpc_histogram_percentile(h, i); + GPR_ASSERT(cur >= last); + last = cur; + } + + grpc_histogram_destroy(h); +} + +static void test_merge(void) { + grpc_histogram *h1, *h2; + double last; + double i; + double cur; + + LOG_TEST("test_merge"); + + h1 = grpc_histogram_create(0.05, 1e9); + grpc_histogram_add(h1, 2.5); + grpc_histogram_add(h1, 2.5); + grpc_histogram_add(h1, 8); + grpc_histogram_add(h1, 4); + + h2 = grpc_histogram_create(0.01, 1e9); + GPR_ASSERT(grpc_histogram_merge(h1, h2) == 0); + grpc_histogram_destroy(h2); + + h2 = grpc_histogram_create(0.05, 1e10); + GPR_ASSERT(grpc_histogram_merge(h1, h2) == 0); + grpc_histogram_destroy(h2); + + h2 = grpc_histogram_create(0.05, 1e9); + GPR_ASSERT(grpc_histogram_merge(h1, h2) == 1); + GPR_ASSERT(grpc_histogram_count(h1) == 4); + GPR_ASSERT(grpc_histogram_minimum(h1) == 2.5); + GPR_ASSERT(grpc_histogram_maximum(h1) == 8); + GPR_ASSERT(grpc_histogram_sum(h1) == 17); + GPR_ASSERT(grpc_histogram_sum_of_squares(h1) == 92.5); + GPR_ASSERT(grpc_histogram_mean(h1) == 4.25); + GPR_ASSERT(grpc_histogram_variance(h1) == 5.0625); + GPR_ASSERT(grpc_histogram_stddev(h1) == 2.25); + grpc_histogram_destroy(h2); + + h2 = grpc_histogram_create(0.05, 1e9); + grpc_histogram_add(h2, 7.0); + grpc_histogram_add(h2, 17.0); + grpc_histogram_add(h2, 1.0); + GPR_ASSERT(grpc_histogram_merge(h1, h2) == 1); + GPR_ASSERT(grpc_histogram_count(h1) == 7); + GPR_ASSERT(grpc_histogram_minimum(h1) == 1.0); + GPR_ASSERT(grpc_histogram_maximum(h1) == 17.0); + GPR_ASSERT(grpc_histogram_sum(h1) == 42.0); + GPR_ASSERT(grpc_histogram_sum_of_squares(h1) == 431.5); + GPR_ASSERT(grpc_histogram_mean(h1) == 6.0); + + /* test monotonicity */ + last = 0.0; + for (i = 0; i < 100.0; i += 0.01) { + cur = grpc_histogram_percentile(h1, i); + GPR_ASSERT(cur >= last); + last = cur; + } + + grpc_histogram_destroy(h1); + grpc_histogram_destroy(h2); +} + +int main(void) { + test_no_op(); + test_simple(); + test_percentile(); + test_merge(); + return 0; +} diff --git a/test/cpp/qps/BUILD b/test/cpp/qps/BUILD index 0d91d52f22..f1abb19e64 100644 --- a/test/cpp/qps/BUILD +++ b/test/cpp/qps/BUILD @@ -106,7 +106,7 @@ grpc_cc_library( "histogram.h", "stats.h", ], - deps = ["//:gpr"], + deps = ["//test/core/util:grpc_test_util"], ) grpc_cc_test( diff --git a/test/cpp/qps/histogram.h b/test/cpp/qps/histogram.h index e31d5d78a8..ba72b5b332 100644 --- a/test/cpp/qps/histogram.h +++ b/test/cpp/qps/histogram.h @@ -19,8 +19,8 @@ #ifndef TEST_QPS_HISTOGRAM_H #define TEST_QPS_HISTOGRAM_H -#include #include "src/proto/grpc/testing/stats.pb.h" +#include "test/core/util/histogram.h" namespace grpc { namespace testing { @@ -29,36 +29,36 @@ class Histogram { public: // TODO: look into making histogram params not hardcoded for C++ Histogram() - : impl_(gpr_histogram_create(default_resolution(), - default_max_possible())) {} + : impl_(grpc_histogram_create(default_resolution(), + default_max_possible())) {} ~Histogram() { - if (impl_) gpr_histogram_destroy(impl_); + if (impl_) grpc_histogram_destroy(impl_); } Histogram(Histogram&& other) : impl_(other.impl_) { other.impl_ = nullptr; } - void Merge(const Histogram& h) { gpr_histogram_merge(impl_, h.impl_); } - void Add(double value) { gpr_histogram_add(impl_, value); } + void Merge(const Histogram& h) { grpc_histogram_merge(impl_, h.impl_); } + void Add(double value) { grpc_histogram_add(impl_, value); } double Percentile(double pctile) const { - return gpr_histogram_percentile(impl_, pctile); + return grpc_histogram_percentile(impl_, pctile); } - double Count() const { return gpr_histogram_count(impl_); } + double Count() const { return grpc_histogram_count(impl_); } void Swap(Histogram* other) { std::swap(impl_, other->impl_); } void FillProto(HistogramData* p) { size_t n; - const auto* data = gpr_histogram_get_contents(impl_, &n); + const auto* data = grpc_histogram_get_contents(impl_, &n); for (size_t i = 0; i < n; i++) { p->add_bucket(data[i]); } - p->set_min_seen(gpr_histogram_minimum(impl_)); - p->set_max_seen(gpr_histogram_maximum(impl_)); - p->set_sum(gpr_histogram_sum(impl_)); - p->set_sum_of_squares(gpr_histogram_sum_of_squares(impl_)); - p->set_count(gpr_histogram_count(impl_)); + p->set_min_seen(grpc_histogram_minimum(impl_)); + p->set_max_seen(grpc_histogram_maximum(impl_)); + p->set_sum(grpc_histogram_sum(impl_)); + p->set_sum_of_squares(grpc_histogram_sum_of_squares(impl_)); + p->set_count(grpc_histogram_count(impl_)); } void MergeProto(const HistogramData& p) { - gpr_histogram_merge_contents(impl_, &*p.bucket().begin(), p.bucket_size(), - p.min_seen(), p.max_seen(), p.sum(), - p.sum_of_squares(), p.count()); + grpc_histogram_merge_contents(impl_, &*p.bucket().begin(), p.bucket_size(), + p.min_seen(), p.max_seen(), p.sum(), + p.sum_of_squares(), p.count()); } static double default_resolution() { return 0.01; } @@ -68,7 +68,7 @@ class Histogram { Histogram(const Histogram&); Histogram& operator=(const Histogram&); - gpr_histogram* impl_; + grpc_histogram* impl_; }; } // namespace testing } // namespace grpc diff --git a/test/cpp/qps/qps_interarrival_test.cc b/test/cpp/qps/qps_interarrival_test.cc index 461bf624ce..625b7db426 100644 --- a/test/cpp/qps/qps_interarrival_test.cc +++ b/test/cpp/qps/qps_interarrival_test.cc @@ -20,7 +20,7 @@ #include // Use the C histogram rather than C++ to avoid depending on proto -#include +#include "test/core/util/histogram.h" #include "test/cpp/qps/interarrival.h" #include "test/cpp/util/test_config.h" @@ -31,21 +31,21 @@ using grpc::testing::RandomDistInterface; static void RunTest(RandomDistInterface&& r, int threads, std::string title) { InterarrivalTimer timer; timer.init(r, threads); - gpr_histogram* h(gpr_histogram_create(0.01, 60e9)); + grpc_histogram* h(grpc_histogram_create(0.01, 60e9)); for (int i = 0; i < 10000000; i++) { for (int j = 0; j < threads; j++) { - gpr_histogram_add(h, timer.next(j)); + grpc_histogram_add(h, timer.next(j)); } } std::cout << title << " Distribution" << std::endl; std::cout << "Value, Percentile" << std::endl; for (double pct = 0.0; pct < 100.0; pct += 1.0) { - std::cout << gpr_histogram_percentile(h, pct) << "," << pct << std::endl; + std::cout << grpc_histogram_percentile(h, pct) << "," << pct << std::endl; } - gpr_histogram_destroy(h); + grpc_histogram_destroy(h); } using grpc::testing::ExpDist; diff --git a/test/cpp/qps/qps_worker.cc b/test/cpp/qps/qps_worker.cc index c288b03ec5..4c9ab0ea43 100644 --- a/test/cpp/qps/qps_worker.cc +++ b/test/cpp/qps/qps_worker.cc @@ -32,12 +32,12 @@ #include #include #include -#include #include #include #include "src/proto/grpc/testing/services.pb.h" #include "test/core/util/grpc_profiler.h" +#include "test/core/util/histogram.h" #include "test/cpp/qps/client.h" #include "test/cpp/qps/server.h" #include "test/cpp/util/create_test_channel.h" diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index bd641c2542..e62278cb9f 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -913,7 +913,6 @@ include/grpc/support/atm_windows.h \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ -include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 09f668d847..d09b325c97 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -914,7 +914,6 @@ include/grpc/support/atm_windows.h \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ -include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core index 97bb43a423..6ce9041747 100644 --- a/tools/doxygen/Doxyfile.core +++ b/tools/doxygen/Doxyfile.core @@ -853,7 +853,6 @@ include/grpc/support/atm_windows.h \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ -include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 28b7d396e0..1aff0075a6 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -853,7 +853,6 @@ include/grpc/support/atm_windows.h \ include/grpc/support/avl.h \ include/grpc/support/cmdline.h \ include/grpc/support/cpu.h \ -include/grpc/support/histogram.h \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/log_windows.h \ @@ -1294,7 +1293,6 @@ src/core/lib/support/env_posix.cc \ src/core/lib/support/env_windows.cc \ src/core/lib/support/fork.cc \ src/core/lib/support/fork.h \ -src/core/lib/support/histogram.cc \ src/core/lib/support/host_port.cc \ src/core/lib/support/log.cc \ src/core/lib/support/log_android.cc \ diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index c868acf8d3..a0ea4238e1 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -703,21 +703,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "gpr", - "gpr_test_util" - ], - "headers": [], - "is_filegroup": false, - "language": "c", - "name": "gpr_histogram_test", - "src": [ - "test/core/support/histogram_test.cc" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "gpr", @@ -1242,6 +1227,21 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c", + "name": "histogram_test", + "src": [ + "test/core/util/histogram_test.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -7766,7 +7766,6 @@ "src/core/lib/support/env_posix.cc", "src/core/lib/support/env_windows.cc", "src/core/lib/support/fork.cc", - "src/core/lib/support/histogram.cc", "src/core/lib/support/host_port.cc", "src/core/lib/support/log.cc", "src/core/lib/support/log_android.cc", @@ -7813,7 +7812,6 @@ "include/grpc/support/avl.h", "include/grpc/support/cmdline.h", "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", "include/grpc/support/host_port.h", "include/grpc/support/log.h", "include/grpc/support/log_windows.h", @@ -7863,7 +7861,6 @@ "include/grpc/support/avl.h", "include/grpc/support/cmdline.h", "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", "include/grpc/support/host_port.h", "include/grpc/support/log.h", "include/grpc/support/log_windows.h", @@ -8928,6 +8925,7 @@ "test/core/iomgr/endpoint_tests.h", "test/core/util/debugger_macros.h", "test/core/util/grpc_profiler.h", + "test/core/util/histogram.h", "test/core/util/memory_counters.h", "test/core/util/mock_endpoint.h", "test/core/util/parse_hexstring.h", @@ -8956,6 +8954,8 @@ "test/core/util/debugger_macros.h", "test/core/util/grpc_profiler.cc", "test/core/util/grpc_profiler.h", + "test/core/util/histogram.cc", + "test/core/util/histogram.h", "test/core/util/memory_counters.cc", "test/core/util/memory_counters.h", "test/core/util/mock_endpoint.cc", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index 929ed15918..ce698cb709 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -839,30 +839,6 @@ ], "uses_polling": false }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_histogram_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, { "args": [], "benchmark": false, @@ -1523,6 +1499,30 @@ ], "uses_polling": true }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": false, + "language": "c", + "name": "histogram_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": false + }, { "args": [], "benchmark": false, -- cgit v1.2.3